从列表中打印不同的元素,但具有相同的文本和递增的数字?



我想从"Francisco"开始打印并以"antonio"结尾,但随着数字的增加,我真的不知道该怎么说,我是新来的,谢谢你的帮助!

list = ['Francisco', 'Marcelle', 'Olivia', 'José', 'Guilherme', 'Maria', 'Arthur', 'Lucas', 'Lurdes', 'Antonio']    
for x in range(1,11) :
print(list[x] "your number on the list is, " + str(x) + ".") 

在最后一行,我发现如何保持文本,增加增加的数字,但我不知道如何打印不同的元素与范围,为,我开始编程不长

的例子:弗朗西斯科,你的号码是1Marcelle,你的号码是2安东尼奥,你的号码是10

我认为这是你想要打印的内容:弗朗西斯科,你名单上的号码是:1Marcelle,你的号码是2奥利维亚,名单上你的号码是3你在单子上的号码是:4吉列尔姆,名单上你的号码是:5玛丽亚,你的号码是:6亚瑟,你名单上的号码是:7卢卡斯,你名单上的号码是:8你在名单上的号码是:9安东尼奥,你名单上的数字是:10如果是这种情况,那么您可以使用以下代码:

L = ['Francisco', 'Marcelle', 'Olivia', 'José', 'Guilherme', 'Maria', 
'Arthur', 'Lucas', 'Lurdes', 'Antonio']    
for i in range (len(L)):
print(L[i],"your number on the list is:",i+1)

您已经接近正确的代码

list = ['Francisco', 'Marcelle', 'Olivia', 'José', 'Guilherme', 'Maria', 'Arthur', 'Lucas', 'Lurdes', 'Antonio']    
for x in range(0,len(list)) :
print(list[x] + " your number on the list is " + str(x) + ".") 

你的修改

你做错了什么:

  • 您忘记了list[x] + " your number on the list is "
  • 中的连接+
  • 您从range的索引1开始,但列表从索引0开始

我改进的地方:

  • 在范围内,如果事先不知道列表的长度,使用len(list)

祝你学习Python和练习得愉快!:)

下面是你正在寻找的吗?

names = ['Francisco', 'Marcelle', 'Olivia', 'José', 'Guilherme', 'Maria', 'Arthur', 'Lucas', 'Lurdes', 'Antonio']
for idx, name in enumerate(names, 1):
print(f'{name}, your number is {idx}')

输出
Francisco, your number is 1
Marcelle, your number is 2
Olivia, your number is 3
José, your number is 4
Guilherme, your number is 5
Maria, your number is 6
Arthur, your number is 7
Lucas, your number is 8
Lurdes, your number is 9
Antonio, your number is 10

您可以使用enumerate()start参数设置为1 (因为您需要从1开始计数)。

注意:不要使用list作为变量名。这是python的保留词

lst = ['Francisco', 'Marcelle', 'Olivia', 'José', 'Guilherme', 'Maria', 'Arthur', 'Lucas', 'Lurdes', 'Antonio']
for i,v in enumerate(lst,start=1):
print(f'{v}, your number is {i}')
Francisco, your number is 1
Marcelle, your number is 2
Olivia, your number is 3
José, your number is 4
Guilherme, your number is 5
Maria, your number is 6
Arthur, your number is 7
Lucas, your number is 8
Lurdes, your number is 9
Antonio, your number is 10

您在这里犯了几个错误,其中一些比其他的更容易破坏代码。我把它们列在这里。

  1. 首先不要将列表名作为变量名,例如changelistlist_of_names. list命名空间已经被python使用,如列表类所示。
  2. list从0开始。从1开始,一直到11。因此,你将列出索引将运行的范围。将for循环更改为
for i, name in enumerate(list_of_names):

这里i已经有了编号,name已经有了名称。

可以在print语句中使用。

for i in range(len(list_of_names)):
  1. 打印语句没有正确格式化,一种更好的格式化方法是使用f字符串。
print(f"{list[x]} your number on the list is, {str(x)}.")

所有这些将导致下面的代码片段加在一起。

list_of_names = ['Francisco', 'Marcelle', 'Olivia', 'José', 'Guilherme', 'Maria', 'Arthur', 'Lucas', 'Lurdes', 'Antonio']
for x in range(len(list_of_names)):
print(f"{list[x]} your number on the list is, {str(x+1)}.")

祝你学习好运!

最新更新