Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中使用input输入整数_Python_Python 3.x_Input_Int - Fatal编程技术网

如何在Python中使用input输入整数

如何在Python中使用input输入整数,python,python-3.x,input,int,Python,Python 3.x,Input,Int,我正试图教自己如何用Python编写代码,这是我第一次在Stack Overflow上发帖,所以请原谅这篇文章中的任何不当之处。但让我们直接开始吧 我试图使用input命令返回一个整数。我也做了研究,下面是我在Python 3.4中的多次尝试以及以下结果: 尝试#1 我得到以下回复: Traceback (most recent call last): File "<input>", line 1, in <module> ValueError: invalid lit

我正试图教自己如何用Python编写代码,这是我第一次在Stack Overflow上发帖,所以请原谅这篇文章中的任何不当之处。但让我们直接开始吧

我试图使用input命令返回一个整数。我也做了研究,下面是我在Python 3.4中的多次尝试以及以下结果:

尝试#1 我得到以下回复:

Traceback (most recent call last):
File "<input>", line 1, in <module> 
ValueError: invalid literal for int() with base 10: 'Guess Row: 2`
Guess Row: 2
Not an integer
a = "Hello"
try:
    a = int(input("Enter a number: "))
except ValueError:
    print("Not an integer value...")
print(str(a))
我得到以下回复:

Traceback (most recent call last):
File "<input>", line 1, in <module>
ValueError: could not convert string to float: "Guess Row: 2""
在这里,我得到了以下信息:

Traceback (most recent call last):
File "<input>", line 1, in <module> 
ValueError: invalid literal for int() with base 10: 'Guess Row: 2`
Guess Row: 2
Not an integer
a = "Hello"
try:
    a = int(input("Enter a number: "))
except ValueError:
    print("Not an integer value...")
print(str(a))
虽然它返回了一些东西,但我知道这是错误的,因为首先,输入以字符串形式返回,它还返回print命令


重点是,我尝试了int、float和try,但到目前为止都没有效果。有什么建议吗?我只希望能够输入一个整数,并将其作为一个返回

您的第三次尝试是正确的-但是在这段代码之前/之后,
guess\u row
发生了什么?例如,考虑以下内容:

Traceback (most recent call last):
File "<input>", line 1, in <module> 
ValueError: invalid literal for int() with base 10: 'Guess Row: 2`
Guess Row: 2
Not an integer
a = "Hello"
try:
    a = int(input("Enter a number: "))
except ValueError:
    print("Not an integer value...")
print(str(a))
如果输入有效数字,最后一行将打印出您输入的值。否则,将引发异常(在
except
块中显示错误消息),并且
a
将保持不变,因此最后一行将打印“Hello”

您可以对此进行优化,以便出现无效数字,提示用户重新输入值:

a = None
while a is None:
    try:
        a = int(input("Enter a number: "))
    except ValueError:
        print("Not an integer value...")
print(str(a))

为了说明这些注释,请参阅Windows上的3.4.2空闲Shell中的python.org(PSF)安装程序

>>> n = int(input('Guess1: '))
Guess1: 2
>>> n2 = float(input('Guess2: '))
Guess2: 3.1
>>> n, n2
(2, 3.1)
您使用的是什么系统?您是如何安装Python的

然而,我注意到一些奇怪的事情。如果我只是使用运行整个代码的传统run(即绿色按钮)来运行代码,而不是通过按F2来尝试执行单独的代码行,那么代码就会工作。有人知道为什么会这样吗

这似乎是Eclipse中的一个问题,来自:

为什么原始输入()/input()在PyDev中不能正常工作?

eclipse控制台不是shell的精确副本。。。其中一个变化是,当您在shell中按时,它可能会给您一个\r\n或\r\n作为结束行字符,具体取决于您的平台。Python没有预料到这一点——从文档中,它说它将删除最后一个\n(在版本2.4中签入),但是,在某些平台中,会在那里留下一个\r。这意味着raw_input()通常应用作raw_input()。replace('\r','')和input()应更改为:eval(raw_input()。replace('\r','')

另见: ,
.

您的口译员有点问题。尝试重新安装。我从未见过这样的错误,您键入的所有语句都是正确的。尝试重新安装您在字符串
Guess行:2
上运行的
int
;我想您只是在键入:
2
。。。您确定没有意外地重新定义函数
输入
?解释器的行为不应该像您发布的那样;我建议重新安装。请在Eclipse之外独立运行您的程序。IDE可能有错误并导致此问题。首先,IDE中的解决方案有效。如图所示:
give=eval(原始输入('Number:')。replace('\r','Number'))Number:2 type(give)
但当我在Eclipse中使用PyDev再次执行同一行时,我得到了
give=eval(原始输入('Number:')。replace('\r','Number'))Number:2回溯(最近一次调用):File“”,第1行,在File“”中,第1行编号:2^语法错误:无效语法