在这段代码中,我问用户他们想要哪个方式订购文本文件,但是当运行时,if语句将不起作用,并且在没有if语句的情况下运行它确实有效。为什么它不起作用?
way = int(input('Which way would you like the data to be sorted, Alphabetical[1], Ascending[2] Descending[3] or Average[4]'))
classno = str(input('Which class would you like to sort? Please state the entire class name no spaces please with .txt on the end'))
if way=='1':# WORKS with classno but not with if statement
f = open(classno, "r")# omit empty lines and lines containing only whitespace
lines = [line for line in f if line.strip()]
f.close()
lines.sort()# now write the output file
f = open(classno, 'w')
f.writelines(lines) # Write a sequence of strings to a file
f.close()
我没有显示的其他代码有相同的问题,所有工作没有if语句他们都使用if语句no elif ect。如果有用的话。
答案 0 :(得分:2)
way
是一个整数,您正在检查字符串,该字符串会导致1 == '1'
,并且该字符串为假。
你应该做的是写 -
if way == 1:
或移除您在输入中执行的int()
演员表,然后您拥有:
way = input("Message...")
if way == '1':
答案 1 :(得分:0)
将way == '1'
更改为way == 1
,这样您就可以针对int检查int。