Python函数错误:类型错误
问题描述:
喜IM相当新的Python和着点我的错误在这个程序中,我的错误看起来像这样Python函数错误:类型错误
TypeError: hitormiss() missing 1 required positional argument: 'totalaim'
#!usr/bin/python3
import random
def takeshot(prompt='do you want to take shot?\n'):
answer = input(prompt)
if answer == ['yes', 'y']:
print("taking shot...")
else:
print("not-working")
def cal(randomnum = random.randrange(0, 100) , baseaim = 15):
totalaim = randomnum + baseaim
return totalaim
def hitormiss(totalaim, hit=50):
if totalaim >= hit:
print("You have hit your target!")
elif totalaim < hit:
print("You have missed your target!")
else:
print("Revise Code.")
takeshot()
cal()
hitormiss()
是totalaim不CAL已经声明?
答
此外,cal.totalaim
不会在方式解决你打算
def hitormiss(totalaim, hit=50):
if totalaim >= hit:
print("You have hit your target!")
elif totalaim < hit:
print("You have missed your target!")
else:
print("Revise Code.")
然后调用,如建议
takeshot()
hitormiss(cal())
+0
谢谢!菜鸟犯我的错误。我很抱歉,我花了很多时间在最近尝试学习python,以至于一次没有太多的信息要保留。 –
答
您应该删除cal()
和hitormiss()
函数调用,取而代之的是:
hitormiss(cal())
这是因为一个参数将被传递到hitormiss()
和cal()
返回totalaim
值。
不,这不是。它仅在本地声明为“cal”。再加上你似乎在混淆课程和功能以及更多的东西。也许你应该从一个教程开始? – Julien
感谢您的复习!是的,这可能是由于过去三天不断学习python,只有这么多的信息可以吸收。 –
请注意,只有计算'cal'函数中参数'randomnum'的值一旦。之后,你总是会得到相同的号码。如果你不想这样做,你必须将'randomnum'的创建移动到函数的主体。 – Matthias