gpt4 book ai didi

python - 如何在同一行打印字符串和整数?

转载 作者:行者123 更新时间:2023-12-05 08:45:38 25 4
gpt4 key购买 nike

我正在尝试打印以下两个列表中的每个项目:

lNames = ['John','David','Michael']
lAges = [45,14,32]

with the format: "Person 0, Name: John, Age 34".

I tried adding another list:

```py
lPersons = [0, 1, 2]

试过这段代码:

lNames = ['John','David','Michael']
lAges = [45,14,32]
lPersons = [0, 1, 2]

for a in lNames:
for b in lAges:
for c in lPersons:
print("Person: " + c + ", Name: " + a + ", Age: " + b)

这给出了一个 TypeError,因为我在打印时错误地将整数与字符串组合在一起。我缺少什么以获得理想的结果?

最佳答案

两个问题:

  1. for 循环中的嵌套比必要的多。您不想遍历所有三个列表中的每个元素组合;相反,您有一份人员列表和有关这些人的信息,并且您希望一次打印一个人的信息。这只需要通过每个列表一次。

  2. 如错误所述,您不能连接字符串和整数。您可以使用 f-string相反。

这是解决这两个问题的代码片段:

for i in range(len(lNames)):
print(f"Person: {lPersons[i]}, Name: {lNames[i]}, Age: {lAges[i]}")

或者,更好的是,使用 zip():

for name, age, person_id in zip(lNames, lAges, lPersons):
print(f"Person: {person_id}, Name: {name}, Age: {age}")

这些输出:

Person: 0, Name: John, Age: 45
Person: 1, Name: David, Age: 14
Person: 2, Name: Michael, Age: 32

关于python - 如何在同一行打印字符串和整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72031166/

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