2013-10-10 3 views
0

Решение проблемы с программированием на отправку для школы, только началось с python 2.7.5, пытаясь сделать выбор из США или Канады, поскольку это необходимо, я должен был сделать численный выбор, чтобы заставить это работать, я пытаюсь получить выбор для подсказки, как США или Канада, и не назначать число, мне нужно объявить что-то как строку? Если я использую Канаду или США, она дает мне сообщение об ошибке глобальной переменной. черновик с выбором номер:Python делает выбор строки?

def main(): 
    user_ship_area = input('Are you shipping to the US or Canada? Type 1 for US, 2 for Canada') 

    if user_ship_area != 2: 
     print 'confirmed, we will ship to the United States ' 
    else: 
     print "confirmed, we will ship to Canada" 

main() 

Я получаю сообщение об ошибке, когда я использую в Канаде или США под если

user_ship_area = input('Are you shipping to the US or Canada?') 
if user_ship_area != Canada: 
    print 'confirmed, we will ship to the United States ' 
else: 
    print "confirmed, we will ship to Canada" 
+1

Вы должны написать «Канаду», как строковый литерал, а не директива Канада – Denis

+1

Вы должны использовать 'raw_input' вместо' input'. 'raw_input' возьмет строку от пользователя:' input' примет выражение Python (например, целое число 2) –

+0

http://stackoverflow.com/questions/7709022/is-it-ever-useful-to-use- питоны-вход-над-сырцом вход –

ответ

2

Использование raw_input вместо от input

def main(): 
    user_ship_area = raw_input('Are you shipping to the US or Canada?') 

    if user_ship_area != 'Canada': 
     print 'confirmed, we will ship to the United States ' 
    else: 
     print "confirmed, we will ship to Canada" 

main() 
0

Вы пропустили "след

user_ship_area = input('Are you shipping to the US or Canada?') #<--- here 
    #<--an indent here. v  v quotes to indicate string here 
    if user_ship_area != 'Canada': 
    print 'You picked Canada!' 
1

В вашем коде Canada будет анализироваться как переменная, но она должна быть строкой. Кроме того, если вы используете Python 2.x, используйте raw_input вместо input, потому что второй будет оценивать введенную строку. Таким образом, ваш код должен выглядеть так:

user_ship_area = raw_input('Are you shipping to the US or Canada?') 
if user_ship_area != 'Canada': 
    print 'confirmed, we will ship to the United States ' 
else: 
    print "confirmed, we will ship to Canada" 
Смежные вопросы