这是我第一次参加python,我很难理解我收到此错误的错误是什么?这个代码应该将杯子蛋糕配方的克数改为杯子,这只是转换面粉的第一步。输入功能有效,但之后我得到了上述错误。
user = input("How many cookies do you want to make? ")
def cupcake_flour(cu_flour):
cu_flour = user * 100 / 120
print(cu_flour + "cups of flour")
def main():
cupcake_flour()
main()
答案 0 :(得分:1)
您已定义函数cupcake_flour
以进行参数,但在调用cupcake_flour()
时未提供参数。您可能希望将用户输入传递给函数,然后打印所需的面粉量,如下所示:
def cupcake_flour(cookies):
cu_flour = cookies * 100 / 120
print(str(cu_flour) + "cups of flour")
def main():
num_cookies = int(input("How many cookies do you want to make? "))
cupcake_flour(num_cookies)
main()
请注意一些小的改动:
int(input("How many cookies do you want to make? "))
因为输入应该被解释为数字(并在计算中使用)main()
时仅询问它是更有意义的str(cu_flour)
因为它需要是一个字符串答案 1 :(得分:0)
错误说明的是:cupcake_flour
说cu_flour
需要参数def cupcake_flour(cu_flour)
。但是你没有任何争论就是在呼唤它。您应该将def cupcake_flour()
替换为sqlcmd
。
答案 2 :(得分:0)
您当前错误的原因是定义了函数" cupcake_flour"它接受了论证" cu_flour"然后在不传递参数的情况下调用该函数。
另外变量" user"在函数中将无法访问。 "用户"变量没有传递给函数,但即使它是默认的字符串,所以你的乘法不会起作用。
据我所知,这可能就是你想要做的事情。
def cupcake_flour(cookie_number):
flower_required = cookie_number * 100 / 120
print(str(flower_required) + " cups of flour")
def main():
cookie_number = int(input("how many cookies do you want to make? "))
cupcake_flour(cookie_number)
main()
答案 3 :(得分:0)
好的,每个人都发布了修复主要问题的解决方案,但没有人能够让你的功能真正有用。作为一般规则,您希望从用户界面部分清楚地分离您的“域模型”(您计算的内容,适用于这些内容的规则等)。 IOW,您的cupcake_flour
除了返回值之外不应打印任何内容,让UI部分进行打印:
# this is your domain model
def cupcake_flour(cookies):
return cookies * 100 / 120
# this is your UI, which gather inputs from the user,
# convert/sanitisze them, pass them to the domain model,
# and display the (formatted) result to the user.
def main():
num_cookies = int(input("How many cookies do you want to make? "))
cu_flour = cupcake_flour(num_cookies)
print("for {} coookies you'll need {} cups of flour".format(num_cookies, cu_flour))
# only execute main if the file is invoked as a script
# so you can also import it in another script
if __name__ == "__main__":
main()