2015-03-27 5 views
0
import sys                                   
looptwo = True 
while looptwo == True: 
    print("Welcome to the junior maths program, this program helps you do maths problems and acts as a calulator.")          
    try: 
    name = input("What is your name? ")                            
    number = int(input("Enter your first number: "))                         
    number2 = int(input("Enter your second number: ")) 
    except ValueError: 
    print("that is not an option") 
    looptwo == False 

Когда я запускаю этот код, он говорит, что число не определено.Я продолжаю получать неопределенную ошибку при запуске этого кода

+0

Выражения, определенные мне. Однако вы не сделали один из комментариев в комментарии к коду. – miradulo

+0

спасибо, что указал. я починил это. – furthoc

+0

'looptwo == False' должно быть' looptwo = False'. Помимо этого, этот код работает. Кроме того, код представляет собой цикл infinte, если не возникает значениеerror. Не уверен, что это ваши намерения? – Marcin

ответ

2

Ваша логика в обратном порядке, вы должны только разорвать, если нет ошибки, вы устанавливаете looptwo равным False, за исключением того, что == - это опечатка, которая прерывает цикл. Поэтому всякий раз, когда вы пытаетесь получить доступ к name и т. Д. Снаружи, когда цикл после исключения вы получите неопределенную ошибку. только Способ разрыва кода - это когда возникает исключение:

Используется в то время как True и только прерывается, если не было исключений.

while True: 
    print("Welcome to the junior maths program, this program helps you do maths problems and acts as a calulator.") 
    try: 
     name = input("What is your name? ") 
     number = int(input("Enter your first number: ")) 
     number2 = int(input("Enter your second number: ")) 
     break 
    except ValueError: 
     print("that is not an option")