为啥这个 if 语句在这种情况下不起作用? [关闭]

Posted

技术标签:

【中文标题】为啥这个 if 语句在这种情况下不起作用? [关闭]【英文标题】:Why does this if statement not work in this case? [closed]为什么这个 if 语句在这种情况下不起作用? [关闭] 【发布时间】:2015-02-19 08:17:32 【问题描述】:

在这段代码中,我询问用户他们希望文本文件以哪种方式排序,但是,运行时 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 语句没有 elif ect。如果这有任何用处。

【问题讨论】:

【参考方案1】:

way 是一个整数,而您正在检查一个字符串,它引导1 == '1',这是错误的。

你应该做的是写 -

if way == 1:

或删除您在输入上执行的int() 演员表,然后您就有了:

way = input("Message...")
if way == '1':

【讨论】:

那我该如何解决呢? 这不是javascript【参考方案2】:

way == '1' 更改为 way == 1,这样您就可以检查一个 int 和一个 int。

【讨论】:

以上是关于为啥这个 if 语句在这种情况下不起作用? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

为啥 DISTINCT 在这种情况下不起作用? (SQL)

为啥我的 JRadioButton 在这种情况下不起作用?

为啥 os.path.join() 在这种情况下不起作用?

为啥简单的算术减法在“if”条件下不起作用?

为啥转换在我的情况下不起作用

jquery/livequery 在这种特殊情况下不起作用