循环关闭控制台时的Python

时间:2016-09-13 20:08:02

标签: python loops console

每次开始循环时,我的控制台都会关闭,我不知道为什么......

index = ""  
while not index:
    index = int(input("Enter the index that you want: "))

2 个答案:

答案 0 :(得分:1)

我认为您的问题是您的循环只执行一次并且在此之后退出(这是我根据您的代码所能想到的)。

原因是:一开始,您的索引为""。因此,not index被评估为True,因为python将空字符串视为False。但是在循环中,您要为索引赋值。因此,在下一次运行中,not index将返回False

以下是关于ti工作方式的示例:

>>> index = "" 
>>> not index
True  <--- True since string is empty
>>> index = 3
>>> not index  
False <--- False since string is having some value 

答案 1 :(得分:0)

a)你的代码似乎很好。

$ python
Python 2.7.10 (default, Oct 14 2015, 16:09:02) 
[GCC 5.2.1 20151010] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> index=""
>>> while not index:
...     index=int(input("blabla: "))
... 
blabla: 2
>>> print(index)
2

或者使用python 3:

$ python3
Python 3.4.3+ (default, Oct 14 2015, 16:03:50) 
[GCC 5.2.1 20151010] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> index=""
>>> while not index:
...     index=int(input("bla: "))
... 
bla: 4
>>> print(index)
4

b)我的控制台正在关闭:这似乎是实际问题。你能指定你的操作系统和终端吗?你是如何调用python解释器的?我想你在Windows上?通过点击windowskey + r启动控制台并键入&#34; cmd&#34;,然后从那里运行python以查看输出。