Python使字符串成为一种选择?

时间:2013-10-10 14:44:59

标签: python python-2.x

解决学校的运输编程问题,刚刚开始使用python 2.7.5,试图让美国或加拿大成为一个选择,因为我必须做出数字选择才能让它工作,我正试图获得作为美国或加拿大的提示选择而不是分配号码,我是否必须将某些内容声明为字符串?如果我使用加拿大或美国,它会给我一个关于全局变量的错误消息。 选秀号草稿:

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() 

我在if

下使用加拿大或美国时收到错误消息
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" 

3 个答案:

答案 0 :(得分: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() 

答案 1 :(得分: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" 

答案 2 :(得分: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!'