无法弄清楚如何在python中为列表中的元素分配数字



我是一个相对较新的程序员,我不知道如何为列表中的某些元素创建变量。我正在尝试这样做,这样我就可以要求某个数字,然后控制台将打印列表中的某个元素。这是我在进入python的下一个级别之前必须进行的练习。这个程序是通过一个名为codesters的网站完成的。

以下是我制作这个程序的指导:

  1. 有一个5种食物的列表(使用任何名称(
  2. 使用索引变量将每份食物打印到控制台访问列表中的每个元素。(提示:用于循环(
  3. 向用户询问食物编号(列表中的位置(,然后打印出来食物(例如,列表为A、B、C、D、E,食品编号1为A(

这是我迄今为止的代码:

mylist = ["cherry","cake", "rice", "bannana", "strawberry"]
for x in mylist:
print(x)
mylist.append(input("Please enter a food number:"))

感谢您的帮助。

看起来您正在尝试遍历列表的索引。使用range:执行此操作

mylist = ["cherry","cake", "rice", "bannana", "strawberry"]
for i in range(len(mylist)):
print(mylist[i])

类似地,您可以要求用户输入并打印特定索引:

while True:
# Ask for input
idx = input('Which food do you want to see?')
# only allow numbers
if not idx or not idx.isnumeric():
print('Please enter a valid number')
continue
# convert to int
idx = int(idx)

# more validation – only accept numbers in valid range
if idx<0 or idx>=len(mylist):
print(f'Please enter a number between 0 and {len(mylist)-1}')
continue
# otherwise
print(f'Your food is: {mylist[idx]}')
break

正如@ybressler-simon所指出的,指令引用了索引变量,因为列表中的项可以通过其在列表中的位置来访问,而按位置挑选项的变量通常称为索引。

>>> mylist = ['hotdish', 'lutefisk']
>>> mylist[0]
'hotdish'
>>> mylist[1]
'lutefisk'
>>> x = 0
>>> mylist[x]
'hotdish'

使用len((函数可以获取列表中的项数及其长度。

>>> len(mylist)
2

使用range((函数生成一个从0开始向上计数的数字序列。

>>> list(range(2))
[0, 1]

然后把零件放在一起,你就做好了!

mylist = ["cherry","cake", "rice", "bannana", "strawberry"]
for count, value in enumerate(mylist, start=1):
print('{} - {}'.format(count, value))
choice = int(input("Please enter a food number: "))
print(mylist[choice-1])

将结果:

1-樱桃

2-饼

3-大米

4-bannana

5-草莓

请输入食品编号:5

草莓

最新更新