python - for 循环里面的 if 条件

标签 python python-2.7 for-loop

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 行。

计数完美。


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

最佳答案

只需将打印语句缩进为:

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

        print line

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

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

关于python - for 循环里面的 if 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30152428/

相关文章:

R - for 循环中的多个变量?

c - 为什么我们在程序中使用 'int'循环时两次添加 'for'标签时输出不同?

python - 为类(class)成员设置值时如何防止错别字?

python - 如何检索目录中最近创建的文件

python - 在类中声明装饰器

python - 找不到套接字服务器的匹配发行版

python - Django唯一关系不是唯一表

python - 使用 `subprocess.call' 和 `shell=True' 运行命令时不执行 Shell 扩展

python - 无法在 Ubuntu 14.04 上升级 pip 1.5.4 - InsecurePlatformWarning : A true SSLContext object is not available

c# - 创建一个涉及迭代的简单应用程序,然后出现问题。可能很容易解决。