Так что я делаю это задание для школы. Я должен создать викторину, подобную игре, которая предложит пользователю добавить римские цифры вместе и ввести их ответ. Затем он проверит ответ пользователя с правильным ответом и сообщит пользователю, правильно ли он или нет.Python 3.5.2 Roman Numeral Quiz
До сих пор у меня есть это:
class RomanNumeral:
index = 0
while index < len(integer_list) - 1:
#if a lower number is first, it should be subtracted, like IX,
#the one should be subtracted, but the 10 added
if integer_list[index] < integer_list[index + 1]:
r_integer -= integer_list[index]
else:
r_integer += integer_list[index]
index += 1
#Always add the last number
r_integer += integer_list[index]
#Store r_integer as an instance data item
self.__integer = r_integer
return
def main():
roman1 = RomanNumeral('random')
roman2 = RomanNumeral('random')
correct_answer = roman1 + roman2
main()
Но когда я запускаю его, я получаю эту ошибку:
r_integer += integer_list[index]
UnboundLocalError: local variable 'r_integer' referenced before assignment
Любые предложения о том, как решить эту проблему?
Кроме того, мне нужна помощь в перегрузке метода int, чтобы изменить римские цифры на целые числа, чтобы они могли быть добавлены вместе.
, если я это сделаю, я получаю ошибку. Объект «RomanNumeral» не имеет атрибута «_RomanNumeral__integer». Я думаю, что если я могу перегрузить метод __int__, это может устранить эти проблемы. Но я не знаю, как перегружать метод __int_ – Brock
Мой плохой. Теперь я вижу, что вы условно применяете целочисленное значение строки, только если бы это было случайно. –
Перегружает ли int для вас? –