在下面的代码中,我尝试在函数中进行计算,然后将字符串中的所有值返回到Python的主程序体,问题是换行符\n在return语句中不起作用,原因是什么?
#create function
def program(value):
#creat variables
tip_percentage=10
tip_amount=0
final_bill=0
#calculations
tip_amount=value*tip_percentage/100
final_bill=value+tip_amount
#print output
x=("value -> \n",value," Tip -> \n",tip_amount,"Total value -> \n",final_bill)
print(x)
return x
#Main body
value=int(input("Enter value : "))
value=program(value)
print(value)
尝试从函数返回值。然后在return语句中作为换行符的\n不起作用。
3条答案
按热度按时间lskq00tm1#
这是因为你返回的是一个元组,而不是一个字符串。
尝试字符串连接:
x = "value -> \n" + str(value) + " Tip -> \n" + str(tip_amount) + " Total value -> \n" + str(final_bill)
或者尝试如下格式:
x = "value -> \n{} Tip -> \n{} Total value -> \n{}".format(value, tip_amount, final_bill)
hmmo2u0o2#
你返回的Tuple对象并不像
x=("value -> \n",value," Tip -> \n",tip_amount,"Total value -> \n",final_bill)
那样解释转义序列,它把它当作普通字符串来处理。您可以改为返回字符串。
nx7onnlm3#
在上一行中,你把字符串写成了元组,你必须把它转换成字符串。