我试图向这个基本的罗马数字计算器添加一个类,但是当我试图从该类运行函数时,我得到了一个NameError。我不知道发生了什么事。你知道吗
我试着改变代码的顺序,但没有别的,因为我不知道错误的原因是什么。你知道吗
另外,我也不知道为什么,但是我不能把类(下面)部分放到代码块中。你知道吗
class Roman_Number():
roman_numeral_table = [
("M", 1000), ("CM", 900), ("D", 500),
("CD", 400), ("C", 100), ("XC", 90),
("L", 50), ("XL", 40), ("X", 10),
("IX", 9), ("V", 5), ("IV", 4),
("I", 1)
]
r = input('If you want to go from Roman to Number, enter "1." If you want to go from Number to Roman, enter "2"')
if r == 1:
roman_to_int()
else:
int_to_roman()
def int_to_roman():
number = int(input('Provide Number: '))
if number < 1 or number > 3999:
print('Number must be inbetween 1 and 3999')
else:
print('Valid Number')
roman_numerals = []
for numeral, value in roman_numeral_table:
while value <= number:
number -= value
roman_numerals.append(numeral)
print(''.join(roman_numerals))
def roman_to_int():
pass
我希望它开始运行int\u to roman(),但我只是得到一个错误。你知道吗
我改变了顺序,现在我得到了一个“罗马数字表没有定义”。为什么我要和如何解决这个问题?你知道吗
您会遇到这个错误,因为python按照语法的顺序执行它,所以您需要先定义一个函数,然后才能调用/引用它。试试这个:
Python是一种解释语言。因此,函数需要在第一次被调用之前定义。只需将
def int_to_roman():
块直接移动到罗马数字表定义下面,代码就可以正常工作了。你知道吗像这样:
把你的代码改成这样应该行得通。Python要求您在调用函数之前定义它。你知道吗
相关问题 更多 >
编程相关推荐