gpt4 book ai didi

Python:无法分配给文字

转载 作者:太空狗 更新时间:2023-10-29 22:00:07 27 4
gpt4 key购买 nike

我的任务是编写一个程序,要求用户输入它存储在列表中的 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 :

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

关于Python:无法分配给文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18716564/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com