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行.
计数完美.
附:我还没有提交用于输入要打开的文件名的代码的第一部分.
最佳答案 只需将您的print语句缩进为:
if option.upper() == "A":
for line in x:
line = line.upper()
print line
在Python中,缩进起着非常重要的作用,通过缩进print语句(就像它在给定的代码中一样),解释器会在for循环之外考虑它,并且它将在完成执行for循环后仅执行一次.
为了在for循环的每次迭代中执行printstatement,你需要在for循环的范围内缩进它.