'对于x中的a:'未工作'x中的x:'

2024-05-14 21:53:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在写一个程序,将输入的名字按字母顺序排列。 输出应为:

Students: Peng Ivan Alan Jodi Macy

班级名单

Alan

Ivan

Jodi

Macy

Peng

我有代码工作,但是当我在不同的行上打印名字时,如果我写:

for a in names:
  print(names)

它在一行上打印出来,但如果我写:

for names in names:
   print(names)

很好用。 (名称是名称列表)。 为什么会这样?你知道吗


Tags: in程序名称fornames字母名字print
3条回答
names = ['Alan','Ivan','Jodi','Macy','Peng']

# This will print whatever is assigned to `names` for the number of times `names` is iterated
for a in names:
  print(names)

输出:

['Alan', 'Ivan', 'Jodi', 'Macy', 'Peng']
['Alan', 'Ivan', 'Jodi', 'Macy', 'Peng']
['Alan', 'Ivan', 'Jodi', 'Macy', 'Peng']
['Alan', 'Ivan', 'Jodi', 'Macy', 'Peng']
['Alan', 'Ivan', 'Jodi', 'Macy', 'Peng']

现在:

# You're using same variable name for printing
for names in names:
   print(names)

Extra Note: As @buran stated: This is valid, but not desirable to use, because at the end value of names will be the last element in the list, not the original list names

输出:

Alan
Ivan
Jodi
Macy
Peng

最后:

# This is what you need i.e. for each name in names, print the name
for name in names
   print(name)

输出:

Alan
Ivan
Jodi
Macy
Peng

这是因为您使用相同的变量name进行打印。你知道吗

尝试:

for a in names:
   print(a)

在for循环中,您将每个迭代值存储在变量中,而在print语句中,您将引用保存所有值的names变量。这就是它在同一行打印所有值的原因:

更改代码

for a in names:
  print(names)

for a in names:
  print(a)

相关问题 更多 >

    热门问题