python - input() 函数在不同的操作系统中以不同的方式处理数据类型?
问题描述
如果有人看过这个或者这是常识,我很感兴趣。另外,如果任何其他功能/方法都是这种情况?
如果我有使用 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 中运行它,它不会。
任何想法,输入(糟糕的双关语......对不起)将不胜感激!
解决方案
您不小心在 Python 2(input()
解析值)和 Python 3(input()
总是返回字符串)上运行了相同的代码。
确保您在python3
Mac/Linux 机器上运行 with,并记住您可以验证python
with的版本python --version
。
推荐阅读
- angularjs - 不渲染组件
- react-native - 在 react-native 中获取按 headerRight 的位置
- openshift - Openshift 完全秘密删除
- reflection - 无法通过反射加载使用 F# 编译器服务构建的程序集
- spring - 升级到 Spring Boot 2.2.0.RELEASE 后 LoadTimeWeaving 失败
- c# - 如何通过 wpf 中的绑定访问数据网格项?
- c++ - HLSL的所有三角函数都使用弧度吗,如何旋转图像?
- python - Anaconda 提示错误“系统找不到指定的文件”和 condaHTTPerror
- python - 使用检查磁盘上文件的新类型扩展 json 模式
- bash - 登录前在linux中执行交互脚本