Цель моего проекта - найти точные изменения, используя блоки принятия решений. Весь мой код возвращает правильные ответы, за исключением ответа, который ожидается как «Без изменений».
Решение выглядит как «Без изменений», как и ожидалось, но затем следует код ошибки, который заявляет
Traceback (most recent call last):
File "main.py", line 21, in <module>
if dollars == 1:
NameError: name 'dollars' is not defined
Есть идеи, почему это может быть? Код, который у меня есть ниже.
print("This program asks the user to enter a change amount using integers only,")
print("and outputs the change using the fewest coins.")
input_val = int(input("Enter the change amount as integer:"))
if input_val <= 0:
print("No Change")
else:
dollars = input_val // 100
input_val %= 100
quarters = input_val // 25
input_val %= 25
dimes = input_val // 10
input_val %= 10
nickels = input_val // 5
input_val %= 5
pennies = input_val
if dollars == 1:
print('%d dollar' % dollars)
elif dollars > 1:
print('%d dollars' % dollars)
if quarters > 1:
print('%d quarters' % quarters)
elif quarters == 1:
print('%d quarter' % quarters)
if dimes > 1:
print('%d dimes' % dimes)
elif dimes == 1:
print('%d dime' % dimes)
if nickels > 1:
print('%d nickels' % nickels)
elif nickels == 1:
print('%d nickel' % nickels)
if pennies > 1:
print('%d pennies' % pennies)
elif pennies == 1:
print('%d penny' % pennies)
1 ответ
Вам нужно объявить переменные перед их использованием.
В вашем коде переменные dollars, quarters, dimes, nickels, pennies
не видны за пределами блока else
...
input_val = int(input("Enter the change amount as integer:"))
dollars = 0
quarters = 0
dimes = 0
nickels = 0
pennies = 0
if input_val <= 0:
print("No Change")
...
Похожие вопросы
Новые вопросы
python
Python - это многопарадигмальный, динамически типизированный, многоцелевой язык программирования. Он разработан для быстрого изучения, понимания и использования, а также для обеспечения чистого и единообразного синтаксиса. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Тем не менее, для вопросов о Python, связанных с версией, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas и NumPy) включите его в теги.