Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.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 - Fatal编程技术网

Python input()函数在不同的操作系统中以不同的方式处理数据类型?

Python input()函数在不同的操作系统中以不同的方式处理数据类型?,python,python-3.x,Python,Python 3.x,我很感兴趣,如果有人看到这一点,或者这是常识。另外,如果任何其他函数/方法也是如此 如果我有使用input()的代码,那么用户输入的值应该是str数据类型。在Windows中,情况似乎非常类似 如果我在Mac/Linux中运行相同的代码,操作系统似乎足够“智能”将数据类型转换为int 代码示例: print("Enter multiple numbers, enter 0 to stop") counter = 0 number_supplied = 1 sum = 0 wh

我很感兴趣,如果有人看到这一点,或者这是常识。另外,如果任何其他函数/方法也是如此

如果我有使用input()的代码,那么用户输入的值应该是str数据类型。在Windows中,情况似乎非常类似

如果我在Mac/Linux中运行相同的代码,操作系统似乎足够“智能”将数据类型转换为int

代码示例:

print("Enter multiple numbers, enter 0 to stop")
counter = 0
number_supplied = 1
sum = 0
while number_supplied !=0:
    number_supplied = input("")
    counter +=1
    sum = sum + number_supplied
print(sum/(counter-1))
如果我在Windows中运行此代码,它(正确地)会抛出一个TypeError。如果我在Mac或Linux上运行这个,它不会


如果您有任何想法和意见(糟糕的双关语…对不起),我们将不胜感激

在Python2(其中
input()
解析值)和Python3(其中
input()
始终返回字符串)上意外运行了相同的代码


请确保您在Mac/Linux设备上运行的是
python3
,请记住,您可以使用
python--version

验证
python
的版本。“如果我在Mac/Linux中运行相同的代码,操作系统似乎足够“智能”将数据类型转换为int。”也就是说。。。有点令人惊讶。它不应该这样做,因为根据“函数然后从输入中读取一行,将其转换为字符串(去掉尾随的换行符),并返回该字符串。”您确定它会转换为int吗?您确定在mac/linux中不需要
int()
?因为我记得前一段时间写了一些代码,它们不能像字符串一样处理数字,除了AKX应答,它总是在python3中引发错误,不管平台是什么。就是这样!!!!谢谢我甚至没有想过要检查Python版本。问题解决了!