【问题标题】:for loop inside if conditionif条件内的for循环
【发布时间】:2015-05-10 14:15:12
【问题描述】:
print "Select the action you want to perform(A or B)"
print "(A) uppper case"
print "(B) count number of lines"

option = raw_input("Enter your option(A or B):")

if option.upper() == "A":
    for line in x:
        line = line.upper()

    print line


elif option.upper() == "B":
    for line in x:
        line = line.upper()
        count = count + 1
    print "total lines:", count

else:
    print "incorrect option"
    exit()

当用户输入 A 时,它只以大写形式打印一行(最后一行),而不是 250 行。

count 完美运行。


附:我还没有提交用于输入要打开的文件名的代码的第一部分。

【问题讨论】:

  • 将 print 函数放在 for 循环中,以便在每次迭代时打印当前行。
  • 哦,好的,谢谢你,我试图从一个小时开始。

标签: python python-2.7 for-loop


【解决方案1】:

只需将您的打印语句缩进为:

if option.upper() == "A":
    for line in x:
        line = line.upper()

        print line

在 Python 中,缩进起着非常重要的作用,通过将 print 语句缩进(就像在给定代码中一样),解释器会在 for 循环之外考虑它,并且它只会在完全执行后执行一次for 循环。

为了在 for 循环的每次迭代中执行 printstatement,您需要在 for 循环的范围内缩进它。

【讨论】:

  • 哦,好的,谢谢你,我试图从一个小时开始。
  • 缩进有时会吓到 Python 初学者。不用担心。继续练习
【解决方案2】:

print line 行应该缩进到for line in x 循环内

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-18
    • 2015-08-24
    • 1970-01-01
    • 2021-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多