【问题标题】:For loops in python with different variable names对于具有不同变量名的python中的循环
【发布时间】:2019-04-12 17:17:43
【问题描述】:

我是 Python 新手,正在学习循环。有人能告诉我为什么“Ringo”这个名字在这里打印了四次吗?变量名称不一样,为什么它甚至会从列表中选择一个名称。

for band_member in ["John", "Paul", "George", "Ringo"]:
    print (member)

输出是

Ringo
Ringo
Ringo
Ringo

为什么还要打印列表中的名字?

【问题讨论】:

  • for A in B: print(C) 打印 C 4 次和 A 0 次。
  • 您可能在之前执行的代码行中将变量member 设置为"Ringo"
  • 它没有从列表中选择一个名字。 member 恰好是 'Ringo',原因不相关,您没有向我们展示。
  • member 必须事先定义为等于'Ringo',这就是打印的原因。
  • 你们非常敏锐。我正在使用 jupyter notebook,在我的第一次尝试中,我确实使用了变量成员,然后将变量名称重写为 band_member,我猜它保留了“Ringo”的成员值

标签: python loops


【解决方案1】:

谢谢大家。你们真的很犀利。

我正在使用 jupyter notebook,在我的第一次尝试中,我确实使用了变量“member”,然后将变量名重写为 band_member,我猜它保留了之前使用的“Ringo”的成员值。

当有一个合乎逻辑的解释时,我喜欢它。谢谢大家。

【讨论】:

  • 如果我使用全新的会话并使用与我发布的相同的代码,它确实会给我一个错误,即名称“成员”未定义。这正是我所期望的。
  • 是的,你必须小心使用 Jupyter。您只需重新启动内核即可清除所有内容。
【解决方案2】:

它“从列表中”选择一个名称,因为您巧合地将 member 的值设置为您未向我们显示的代码中的列表中的名称。

您的代码实际上如下所示:

# ... blah blah

member = "Ringo"

# ... blah blah

for band_member in ["John", "Paul", "George", "Ringo"]:
    print (member)

因此for 循环对列表中的每个值执行一次,并且您在每次迭代时打印member

这会做同样的事情:

for band_member in [1,2,3,4]:
    print (member)

它不是从列表中挑选的,它只是打印你告诉它打印的变量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多