我是一名Python初學者,我有一個非常簡單的練習。 我把我的Hello World項目分成三個文件。Python TypeError:列表索引必須是整數,而不是類型
1.run.py包含主代碼。
run.py
--------------------------------
#!/usr/bin/python
import lib
lib.hw()
printer = lib.hw()
print(printer)
2.lib.py函數。
lib.py
--------------------------------
import data
def hw():
return(data.messages[0])
3.data.py清單。
data.py
--------------------------------
messages = [ "Hello, World!", "It Works" ]
如果你運行run.py它會打印出「Hello,World!」。
我想添加一種方法來選擇打印出列表中的哪個值。 所以我在run.py中添加一個輸入promt並將該int存儲在變量「choice」中,然後我想將它推送到文件lib.py「[0]」中的「list indices」,以便我可以決定哪個值我想打印出來。當然,我寫它的方式不起作用,它只是爲了解釋我即將做的事情。
run.py
--------------------------------
#!/usr/bin/python
import lib
print("Enter 0 or 1 to print a Message!")
choice = int(input("Enter 0 or 1: "))
lib.hw()
printer = lib.hw()
print(printer)
這裏我用[choice]替換了[0]。
lib.py
--------------------------------
import data
def hw():
return(data.messages[choice])
當然,這將導致一個錯誤:
/functions/lib.py", line 5, in hw
return(data.messages[choice])
TypeError: list indices must be integers, not type
我怎麼能以最簡單的方式解決這個問題?
你不及格'choice'到'lib.hw()'。 – bereal
我真的不知道該怎麼做。 – benice
你可以在'return(data.messages [choice])之前放一個'print(選擇)'語句'並告訴我你得到了什麼? – Stael