簡體   English   中英

input() 函數在不同的操作系統上以不同的方式處理數據類型?

[英]input() function handling data types differently across different Operating Systems?

如果有人看過這個或者這是常識,我很感興趣。 另外,如果任何其他功能/方法都是這種情況?

如果我有使用 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系統,並記住您可以驗證的版本pythonpython --version

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM