def input():
h = eval(input("Enter hours worked: \n"))
return h
def main():
hours = input()
print(hours)
main()
正如你所知,我是Python的新手。我一直得到:“TypeError:input()只取1个参数(给定0)。”非常感谢任何帮助/解释 - 非常感谢你们!
答案 0 :(得分:2)
在第一行中定义一个名为input
的函数,该函数接受零参数,然后在稍后调用input
函数时(我假设您打算调用Python附带的函数)可能会被意外覆盖)你传递一个变量。
# don't try to override the buil-in function
def input_custom():
h = eval(input("Enter hours worked: \n"))
return h
def main():
hours = input_custom()
print(hours)
main()
答案 1 :(得分:1)
input()
是内置Python函数的名称。
在你的代码中,你覆盖它,这绝对不是一个好主意。尝试将您的功能命名为其他内容:
def get_hours():
h = eval(input("Enter hours worked: \n"))
return h
def main():
hours = get_hours()
print(hours)
main()
答案 2 :(得分:1)
使用不同的名称更改输入函数,因为输入是python中的方法。
def inputx():
h = eval(input("Enter hours worked: \n"))
return h
def main():
hours = inputx()
print(hours)
main()
答案 3 :(得分:1)
我无法复制您的确切错误 - 而是我得到:
TypeError: input() takes no arguments (1 given)
但是,你的错误很可能是由同一件事引起的 - 当你命名你的函数input
时,你会影响内置的input
:Python看不到两者,即使你没有期待提示。如果您为自己命名myinput
,Python可以说出不同之处:
def myinput():
h = eval(input("Enter hours worked: \n"))
return h
def main():
hours = myinput()
print(hours)
main()