有人可以帮我吗?无论我输入什么号码,我都会得到相同的答案/输出
items = {'1': '2', '3': '4', '5': 'a'}
choice = input("Select a number: ")
if choice in items:
the_choice = items[choice]
print('you go right')
else:
print('you go left')
答案 0 :(得分:0)
根据评论,您希望如果用户键入1到5之间的数字或“a”,则打印“你走右”。
因此cypher.default_language_version=3.1
应该是字符串列表,而不是字典或集合。列表由items
定义。
然后,最好将输入([]
转换为强制转换为字符串)。
最后,Python中的索引从0开始而不是1,因此您应该分配str(input())
而不是items[choice-1]
(否则如果用户选择为5则会产生错误)。我还添加了另一个items[choice]
语句,因为if
对于列表没有任何意义。
给出了:
items['a']
如果用户写入1,2,3,4,5或'a',它将返回items = ['1', '2', '3', '4', '5', 'a']
choice = str(raw_input("Select a number: "))
if choice in items:
if choice is not 'a':
the_choice = items[int(choice)-1]
print('you go right')
else:
print('you go left')
;所有其他情况you go right
。