请问各位大神这个什么问题
%5Bimg%5Dhttp://chuantu.xyz/t6/740/1596972170x1700340279.png%5Bimg%5Dhttp://chuantu.xyz/t6/740/1596972228x1709417261.png https://fishc.com.cn/thread-159225-1-1.html https://imgchr.com/i/a7C89x https://imgchr.com/i/a7C141 https://imgchr.com/i/a7C89x zltzlt 发表于 2020-8-9 19:25https://fishc.com.cn/thread-159225-1-1.html
https://imgchr.com/i/a7C89x
https://s1.ax1x.com/2020/08/09/a7C141.png
是这种情况,本来想在文本后加数据,形成“最终价格为:***”这样的效果。
可它是先出数据然后再下一行显示“最终价格为:none”
不知道出了什么问题
1,请回复别人,不然别人看不见
2,发代码 def discounts(price,rate):
x = price * rate
print (x)
spending = float(input("please type in the original price:"))
discount = float(input("please type in the discount rate:"))
print("the final price is:",discounts(spending,discount))
然后效果却是这样:
place type in the original price:12
please type in the discount rate:0.7
8.399999999999999
the final price is: None qiuyouzhi 发表于 2020-8-9 19:43
1,请回复别人,不然别人看不见
2,发代码
对不起,之前发的图片链接好像有点问题 freeman007 发表于 2020-8-9 19:46
然后效果却是这样:
place type in the original price:12
please type in the discount rate:0.7
因为你的函数没有设置返回值,所以打印函数运行结果是 None
把函数的 print 改成 return 即可设置返回值:
def discounts(price,rate):
x = price * rate
return x
spending = float(input("please type in the original price:"))
discount = float(input("please type in the discount rate:"))
print("the final price is:",discounts(spending,discount)) freeman007 发表于 2020-8-9 19:46
然后效果却是这样:
place type in the original price:12
please type in the discount rate:0.7
代码改成这样:
from decimal import Decimal
def discounts(price,rate):
x = price * rate
return x
spending = Decimal(input("please type in the original price:"))
discount = Decimal(input("please type in the discount rate:"))
print("the final price is:",discounts(spending,discount)) freeman007 发表于 2020-8-9 19:47
对不起,之前发的图片链接好像有点问题
代码发在楼下了,问题是为什么是数据先出来,然后下一行显示the final price is :none
Twilight6 发表于 2020-8-9 19:48
因为你的函数没有设置返回值,所以打印函数运行结果是 None
把函数的 print 改成 return 即可设置 ...
所以print不能直接打印函数必须要返回值是吗 你的discounts函数没有返回值,函数运行的结果就是打印你计算后得到的结果x。整个程序运行的结果就是这样:你输入price和rate,调用函数打印计算结果x,函数调用完成,接着打印你的‘the final price is:',后面你的函数没有返回值,就打印一个’none'。第一次回答,不知道说的对不对,请指正。 qiuyouzhi 发表于 2020-8-9 19:48
代码改成这样:
请问from decimal import Decimal是干啥用的 freeman007 发表于 2020-8-9 20:04
请问from decimal import Decimal是干啥用的
提高小数精度,你可以百度下decimal.Decimal的用法 freeman007 发表于 2020-8-9 20:02
所以print不能直接打印函数必须要返回值是吗
不是不能打印,如果不能打印肯定报错了,而你还是成功打印了,只是结果为 None
是因为 print 函数是打印返回值的,而你函数没有设置 return 所以你的函数默认返回 None ,外部print 函数就打印了 None Twilight6 发表于 2020-8-9 20:08
不是不能打印,如果不能打印肯定报错了,而你还是成功打印了,只是结果为 None
是因为 print 函数 ...
明白,谢谢了 qiuyouzhi 发表于 2020-8-9 20:04
提高小数精度,你可以百度下decimal.Decimal的用法
十分感谢,但抱歉最佳给七楼了因为七楼回复的比较早 windsaying 发表于 2020-8-9 20:02
你的discounts函数没有返回值,函数运行的结果就是打印你计算后得到的结果x。整个程序运行的结果就是这样: ...
明白了,discounts没有被定义,而return才能使discounts被结果定义,是吗
页:
[1]