我是一名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