duration=input("Enter day duration here:")
amount=input("Enter the amount here:")
def make_decision(duration,amount):
if (duration<=0 or amount <=0):
print "Invalid value"
elif (duration<30):
if (amount>=50):
corresponding_value = "Medium"
elif (amount<50):
corresponding_value = "Low"
elif (duration>=30):
if (amount>=50):
corresponding_value = "High"
elif (amount<50):
corresponding_value = "High"
return corresponding_value
make_decision(duration,amount)
我不明白为什么请帮助!当我运行它时,它只是在获得输入后结束。 我修复了不计算间隔,但它仍然是相同的!
答案 0 :(得分:1)
你的函数返回值正常,但你错过的是当你从函数返回一个值时,你必须在某个变量中收集该值并相应地使用它,或者你可以在之前使用print语句打印它函数调用。
更新后的代码如下:
duration=input("Enter day duration here:")
amount=input("Enter the amount here:")
def make_decision(duration,amount):
if (duration<=0 or amount <=0):
print "Invalid value"
elif (duration<30):
if (amount>=50):
corresponding_value = "Medium"
elif (amount<50):
corresponding_value = "Low"
elif (duration>=30):
if (amount>=50):
corresponding_value = "High"
elif (amount<50):
corresponding_value = "High"
return corresponding_value
# this is one option
print make_decision(duration,amount)
# another option could be
# result = make_decision(duration, amount)
# print result
答案 1 :(得分:1)
正如Tarun所描述的那样,你的函数返回一个值而不是打印。使用
print corresponding_value
而不是返回。因此,当您使用
调用该函数时make_decision(duration,amount)
您将在控制台中打印输出。
另一种方法是
print make_decision(duration,amount)
还有其他方法。
此外,在你的功能的第二部分
if (amount>=50):
corresponding_value = "High"
elif (amount<50):
corresponding_value = "High"
可能有一些拼写错误。两个案例都打印相同的文字。如果您需要打印相同的文本“高”,持续时间> = 30且金额&gt; 0,然后不需要elif条件。更好的写作方式是:
def make_decision(duration,amount):
if (duration<=0 or amount <=0):
print "Invalid value"
elif (duration<30):
if (amount>=50):
corresponding_value = "Medium"
elif (amount<50):
corresponding_value = "Low"
else:
corresponding_value = "High"
print corresponding_value
make_decision(持续时间,数量)