非常简单的Python编程错误?

时间:2016-10-28 04:31:41

标签: python while-loop

我该做什么:编写一个while循环,打印user_num除以2,直到user_num小于1。

我的代码:

NA

错误:

  

10.0 Traceback(最近一次调用最后一次):文件“main.py”,第5行,in       user_num = float(input())EOFError:读取行时的EOF

3 个答案:

答案 0 :(得分:1)

(我使用的是Python 3.5.2)

如果您不想拨打输入:

user_num = 20

while user_num>=1:
    print(user_num/2)
    user_num = user_num/2

使用输入(在这种情况下,当用户键入小于1的数字时,进程停止):

 user_num = 20

 while user_num>=1:
    print(user_num/2)
    x=float(input())
    user_num = x

答案 1 :(得分:0)

我可以通过这样做来重现您的错误消息($代表shell提示符):

首先创建文件:

$ >gash.txt 

从空文件重定向stdin

$ python gash.py < gash.txt
10.0
Traceback (most recent call last):
  File "gash.py", line 5, in <module>
    user_num = float(input())
EOFError: EOF when reading a line

因此,您收到此错误的原因是输入流为空。在键盘上敲击EOF(许多系统上的CTRL + D),在读取一行时没有得到&#34;&#34;文本。

答案 2 :(得分:0)

user_num = 20

while user_num >= 1:
    print(user_num/2)

    user_num = user_num/2