解决学校的运输编程问题,刚刚开始使用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"
答案 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!'