我的任务是编写一个程序,要求用户输入 5 个名称并将其存储在列表中。接下来,它随机选择这些名字之一,并宣布该人为获胜者。唯一的问题是,当我尝试运行它时,它说can't assign to literal
.
这是我的代码:
import random
1=input("Please enter name 1:")
2=int(input('Please enter name 2:'))
3=int(input('Please enter name 3:'))
4=int(input('Please enter name 4:'))
5=int(input('Please enter name 5:'))
name=random.randint(1,6)
print('Well done '+str(name)+'. You are the winner!')
我必须能够生成一个随机名称。
的左侧=
运算符必须是一个变量。你在这里所做的就是告诉 python:“你知道第一个吗?将它设置为输入的字符串。”。1
是一个字面数字,而不是一个变量。1
总是1
,你不能将它“设置”为其他东西。
变量就像一个可以存储值的盒子。1
是可以存储在变量中的值。这input
调用返回一个字符串,这是可以存储在变量中的另一个值。
相反,使用lists http://docs.python.org/2/tutorial/datastructures.html:
import random
namelist = []
namelist.append(input("Please enter name 1:")) #Stored in namelist[0]
namelist.append(input('Please enter name 2:')) #Stored in namelist[1]
namelist.append(input('Please enter name 3:')) #Stored in namelist[2]
namelist.append(input('Please enter name 4:')) #Stored in namelist[3]
namelist.append(input('Please enter name 5:')) #Stored in namelist[4]
nameindex = random.randint(0, 5)
print('Well done {}. You are the winner!'.format(namelist[nameindex]))
使用 for 循环,您可以减少更多:
import random
namecount = 5
namelist=[]
for i in range(0, namecount):
namelist.append(input("Please enter name %s:" % (i+1))) #Stored in namelist[i]
nameindex = random.randint(0, namecount)
print('Well done {}. You are the winner!'.format(namelist[nameindex]))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)