python - 使用python的罗马数字转换器
问题描述
我想问我是否应该继续这种罗马数字转换器的想法/方式,或者我应该考虑一个差异代码。
这是我目前的想法:
d_roman = { "I":1, "V": 5, "X":10}
rntconvert = raw_input("Enter Roman Num: " )
x = len(rntconvert)
if rntcovert is in dictionary
#print value of rntcovert
elif x==2
#add the value of two roman numbers except if first roman number is lower than the next then it will be subtracted
#(ex. IX, first char has lower value than next char, so it's like, 10 - 1)
这是可行的吗?先感谢您。
编辑:我使用 2.7 解释是:我将每个返回的字符串量分开求解
解决方案
我对此的解决方案:
class solution:
def roman_to_int(self, s):
rom_val = {'I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000}
int_val = 0
for i in range(len(s)):
if i > 0 and rom_val[s[i]] > rom_val[s[i - 1]]:
int_val += rom_val[s[i]] - 2 * rom_val[s[i - 1]]
else:
int_val += rom_val[s[i]]
return int_val
print(solution().roman_to_int('MMMCMLXXXVI'))
print(solution().roman_to_int('MMMM'))
print(solution().roman_to_int('C'))
推荐阅读
- android - 工作代码突然停止工作 - 为什么?
- java - 从 pdf 中的 html 文本块访问内部 PDF 链接
- testing - Puppeteer Chromium,禁用“匿名化 WebRTC 公开的本地 IP”
- assembly - Cortex-m4 asm 与 cortex-m0 asm
- python - 在 docker run 和 build 之间获取不同的 python 版本
- raspberry-pi - 无法访问 Raspberry Pi 上的 Jupyter 服务器
- php - 如何在 PHP 中使用 echo 在 img src 字符串的中间插入变量
- typescript - 作为变量给出时获取选项的打字稿错误
- c++ - 如何在 C++ 中使用套接字 (UDP) 在 LAN 上查找服务器
- vue.js - 计算属性未触发 v-if 块