当我按2或3程序并不是什么都没有的时候是错的。它正在等待你的下一个输入。
让我告诉你这是如何工作的。
raw_input
是接受用户输入的Python功能。(我知道你们都知道这个:)的)
- 当你执行的代码,首先它会去“
if
”的声明。 'if'
声明后有'raw_input'
函数。所以,它等待你的意见。
- 当您输入'1',
"1" = "1"
时,它会为您提供预期的输出并出现代码。
- 但是,下一次再次执行代码时,
'if'
之后再次执行'raw_input'
将等待您的输入。当您输入'2'并且由于'1' == '2'
为假时,代码将转至下一个'elif'
声明。 'elif'
之后有'raw_input'
正在等待输入的功能。
- 因此,你有感觉,程序什么都不做。
- 当您输入'3'时会发生同样的情况。
的上述例子解释行为
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>
你想你比较之前....如果你使用的是默认存储的raw_input'()'的'变量的raw_input()' – MooingRawr
请发布'raw_input()'的代码 – danielhadar
因为它比较了第一个“if”,并且测试在第二个和第三个测试中失败,所以进入'elif'并等待你输入输入..所以把'raw_input()'放在'if..elif'并保存到任何变量中 –