Я пишу код для калькулятора, используя python.Почему IF не работает внутри цикла WHILE? (Python 3.4)
loop = 1
while loop == 1: #loop calculator while loop is TRUE
print ("""Options:
Addition 1)
Subtraction 2)
Multiplication 3)
Division 4)
Quit 5)
Reset Sum 6) """) #display calculator's options
(' ') #spacer
choice = input("option: ") #get user input for calculator options
#----------------------------------------------------------------------------Addition
if choice == 1: #check if user wants to add
print (' ') #spacer
print ('Addition Loaded!') #tell the user they are adding
print (' ') #spacer
add1 = int(input('Base Number')) #get value for add1
sum = int(input('Number ta add')) #get value for sum
sum = add1 + sum #make sum equal the sum of add1 and sum
print (str(sum)) #print sum
addloop = 1 #set addloop to TRUE
while addloop == 1: #continue addition while addloop = TRUE
add1 = int(input('Additional number to add')) #get value for add1
if add1 == 0: #check if add1 equals zero
print (' ') #spacer
sum = add1 + sum #make sum equal the sum of add1 and sum
if add1 != 0: #check if add1 is not equal to 0
print (str(sum)) #print sum
if add1 == 0: #check if add1 is equal to 0
print ('Total: ',) #print prefix
print (str(sum)) #print sum
addloop = 0 #set addloop to FALSE
Ниже секции капельной перечисленные здесь, есть другие разделы для вычитания, умножения и т.д., которые используют Элиф вместо IF (как они должны быть?). Проблема заключается в том, что когда пользователь выбирает опцию для калькулятора (сложение, вычитание ...), он вместо этого обращается к циклу while, не выполняя никаких инструкций IF или ELIF. Операции IF не работают внутри цикла WHILE?
Там нет необходимости комментировать каждую строку в источнике код, особенно если комментарий просто повторяет код – Jasper
Эта проблема может быть трудно понять ... 'print (choice)' похоже, показывает целое число ... но 'print (repr (выбор))' показывает, что это действительно строка (которая никогда не равна целому числу). – tdelaney
@ Jasper Я прокомментировал каждую строку, чтобы привыкнуть делать комментарии вообще. Я не собираюсь комментировать ненужные строки в будущем, это просто поможет мне научиться делать это на ранней стадии. – stapler8