我遇到简单的if语句问题。我希望用户按一个键'1','2'或'3'来选择任何选项,然后程序将执行某些操作。对于测试,它只是在按下'2'后打印文本,例如“Wybrano 2”。
这是我的代码:
if raw_input() == '1':
print "Wybrano 1"
elif raw_input() == '2':
print "Wybrano 2"
elif raw_input() == '3':
print "Wybrano 3"
因此,如果按1则正确打印“Wybrano 1”但是当我按下2或3时,程序什么都不做。
答案 0 :(得分:3)
当我按2或3时,程序没有任何错误。它等着你下一次输入。
让我告诉你这是如何运作的。
raw_input
是用于接受用户输入的python函数。(我知道你知道这个:))if
"声明。 'if'
语句后面有'raw_input'
个函数。所以,它等待你的输入。"1" = "1"
时,它会为您提供预期的输出并退出代码。'raw_input'
执行'if'
后再次等待输入。当您输入' 2'由于'1' == '2'
为false,因此代码转到下一个'elif'
语句。在'elif'
之后,有'raw_input'
函数正在等待输入。 上述行为的示例
if raw_input("Enter number : ") == '1':
print "Wybrano 1"
elif raw_input("Enter number : ") == '2':
print "Wybrano 2"
elif raw_input("Enter number : ") == '3':
print "Wybrano 3"
<强>输出:强>
C:\Users\dinesh_pundkar\Desktop>python c.py
Enter number : 1
Wybrano 1
C:\Users\dinesh_pundkar\Desktop>python c.py
Enter number : 2
Enter number : 2
Wybrano 2
C:\Users\dinesh_pundkar\Desktop>python c.py
Enter number : 3
Enter number : 3
Enter number : 3
Wybrano 3
如何使代码正常工作?
答案很简单。正如第一条评论中的 @MooingRawr 所解释的那样,只需将用户输入保存在某个变量中,然后进行检查。
x = raw_input("Enter number : ")
if x == '1':
print "Wybrano 1"
elif x == '2':
print "Wybrano 2"
elif x == '3':
print "Wybrano 3"
<强>输出:强>
C:\Users\dinesh_pundkar\Desktop>python c.py
Enter number : 1
Wybrano 1
C:\Users\dinesh_pundkar\Desktop>python c.py
Enter number : 2
Wybrano 2
C:\Users\dinesh_pundkar\Desktop>python c.py
Enter number : 3
Wybrano 3
C:\Users\dinesh_pundkar\Desktop>