每次开始循环时,我的控制台都会关闭,我不知道为什么......
index = ""
while not index:
index = int(input("Enter the index that you want: "))
答案 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以查看输出。