Python初學者在這裏。我正在編寫一個使用無限循環的程序,並允許用戶輸入關鍵術語來訪問不同的「工具」或「模塊」。將輸入()識別爲str,float或int並相應地執行
在這些「模塊」中的一箇中,用戶可以輸入一個值並將其轉換爲二進制。我想:
- 允許程序識別,如果值是該值以二進制
- 轉換允許程序識別,如果輸入的值是一個int或 浮動,然後運行代碼str和str表示'返回',其中當前循環將退出。
據我所知,這個問題發生輸入()轉換無論是自動輸入到STR(由於:http://anh.cs.luc.edu/python/hands-on/3.1/handsonHtml/io.html「首先,它打印你給作爲參數字符串」)。
如何讓下面的代碼識別輸入是str,float還是int,然後執行相關的if語句?目前,我的代碼的這部分可以接受'返回'退出循環,但會將任何整數或浮點值作爲str,使程序提示用戶再次輸入十進制值。
#decimal to binary
while search == "d2b":
dec2bin = input("\nDecimal Value: ")
if type(dec2bin) == int:
print("Binary Value: " + "{0:b}".format(dec2bin))
elif type (dec2bin) == str:
if dec2bin == "back":
search = 0
elif type (dec2bin) == float:
#code for float to binary goes here
編輯:不一樣,這個線程(Python: Analyzing input to see if its an integer, float, or string),作爲一個列表用於有超過輸入() E2:似乎無法使用重複的建議作爲解決問題。然而,弗朗西斯科在此主題中的評論有解決方案
標記爲重複的問題並不是真的。那就是如何在列表中找到對象的類型 - 而不是可以將字符串轉換成的類型。 – dawg