我正在編寫一個演示線性搜索的程序,但我堅持使用其中的一個步驟。在這一步中,我試圖讓程序獲取由逗號分隔的數字輸入列表,然後以列表形式返回列表。
(例如1,5,2,4 - > [1,5,2,4])。 到目前爲止,我所擁有的代碼將以列表的形式返回輸入,但僅限於輸入單個數字。 (例如3 - > [3])。將數字輸入空列表Python
def main():
n = eval(input("Enter list of numbers separated by commas: "))
list = []
n = int(n)
list.append(n)
print(list)
main()
但是,當我輸入用逗號分隔的數字列表,我得到這個錯誤:
Traceback (most recent call last):
File "C:/Users/eardery/Desktop/Final Exam Practice/linearsearch.py", line 8, in <module>
main()
File "C:/Users/eardery/Desktop/Final Exam Practice/linearsearch.py", line 4, in main
n = int(n)
TypeError: int() argument must be a string or a number, not 'tuple'
什麼是另一種方式沒有得到這個錯誤地評價輸入並有計劃按我預期它上班?有人可以解釋一個'元組'是什麼嗎?
是什麼'N'包含;-) – Daniel
_Please_不使用'list'變量名。這個名字有一個內置的東西。 – Lafexlos
'eval'實際上爲你做了工作,'n'是'int'的一個元組。但是,真的,你應該聽取以下答覆者的建議,不要在用戶輸入中使用'eval'。 – kmacinnis