代码报错原因求助
小甲鱼课后作业第014讲:了不起的分支和循环(I)动动手求利润的那一题,我写的代码如图所示。每次都是那个位置报错,求助各位是什么原因导致的。谢谢 你好,根据你提供的截图,代码报错的原因是因为第9行代码中的变量名写错了,应该是“profilt”而不是“profit”,因此Python无法找到该变量并报错。你可以将第9行代码修改为:
profit = (selling_price - cost_price) * 100
这样就可以解决问题了。 isdkz 发表于 2023-5-18 21:24
你好,根据你提供的截图,代码报错的原因是因为第9行代码中的变量名写错了,应该是“profilt”而不是“prof ...
胡说八道的chatgpt 第五行的7.5%改成0.75就没问题咯 isdkz 发表于 2023-5-18 21:24
你好,根据你提供的截图,代码报错的原因是因为第9行代码中的变量名写错了,应该是“profilt”而不是“prof ...
你是搞笑吗。。。。 liuhongrun2022 发表于 2023-5-18 21:29
第五行的7.5%改成0.75就没问题咯
不行,还是报错 ansire 发表于 2023-5-18 21:31
不行,还是报错
把你现在的代码发给我 liuhongrun2022 发表于 2023-5-18 21:31
把你现在的代码发给我
n=int(input("请输入今年的利润:"))
if n<=10:
print("应该发放的奖金总数是:",n*10%)
elif 10<n<=20:
m=1+(n-10)*0.75
print("应该发放的奖金总数是:",m)
elif 20<n<=40:
print("应该发放的奖金总数是:",1.75+(n-20)*5%)
elif 40<n<=60:
print("应该发放的奖金总数是:",2.75+(n-60)*3%)
elif 60<n<=100:
print("应该发放的奖金总数是:",3.35+(n-60)*1.5%)
else:
print("应该发放的奖金总数是:",3.95+(n-100)*1%) ansire 发表于 2023-5-18 21:32
n=int(input("请输入今年的利润:"))
if n
第一个用了m是为了测试print是不是不支持括号里面写公式,结果发现根本不是这个问题 liuhongrun2022 发表于 2023-5-18 21:26
胡说八道的chatgpt
我的脚本没有接入识别图片,没办法{:10_277:} 本帖最后由 liuhongrun2022 于 2023-5-18 21:36 编辑
ansire 发表于 2023-5-18 21:32
n=int(input("请输入今年的利润:"))
if n
改成这样
python不能用百分数,变成小数就好了
n=int(input("请输入今年的利润:"))
if n<=10:
print("应该发放的奖金总数是:",n*0.1)
elif 10<n<=20:
m=1+(n-10)*0.075
print("应该发放的奖金总数是:",m)
elif 20<n<=40:
print("应该发放的奖金总数是:",1.75+(n-20)*0.05)
elif 40<n<=60:
print("应该发放的奖金总数是:",2.75+(n-60)*0.03)
elif 60<n<=100:
print("应该发放的奖金总数是:",3.35+(n-60)*0.015)
else:
print("应该发放的奖金总数是:",3.95+(n-100)*0.01) 改成这样
python不能用百分数,变成小数就好了
n=int(input("请输入今年的利润:"))
if n<=10:
print("应该发放的奖金总数是:",n*0.1)
elif 10<n<=20:
m=1+(n-10)*0.075
print("应该发放的奖金总数是:",m)
elif 20<n<=40:
print("应该发放的奖金总数是:",1.75+(n-20)*0.05)
elif 40<n<=60:
print("应该发放的奖金总数是:",2.75+(n-60)*0.03)
elif 60<n<=100:
print("应该发放的奖金总数是:",3.35+(n-60)*0.015)
else:
print("应该发放的奖金总数是:",3.95+(n-100)*0.01) ansire 发表于 2023-5-18 21:33
第一个用了m是为了测试print是不是不支持括号里面写公式,结果发现根本不是这个问题
代码中 `n*10%` 和 `(n-20)*5%` 都缺少数字。正确的写法应该是 `n*0.1` 和 `(n-20)*0.05`。修改后的代码如下:
n = int(input("请输入今年的利润:"))
if n <= 10:
print("应该发放的奖金总数是:", n * 0.1)
elif 10 < n <= 20:
m = 1 + (n - 10) * 0.75
print("应该发放的奖金总数是:", m)
elif 20 < n <= 40:
print("应该发放的奖金总数是:", 1.75 + (n - 20) * 0.05)
elif 40 < n <= 60:
print("应该发放的奖金总数是:", 2.75 + (n - 60) * 0.03)
elif 60 < n <= 100:
print("应该发放的奖金总数是:", 3.35 + (n - 60) * 0.015)
else:
print("应该发放的奖金总数是:", 3.95 + (n - 100) * 0.01) sfqxx 发表于 2023-5-18 21:37
代码中 `n*10%` 和 `(n-20)*5%` 都缺少数字。正确的写法应该是 `n*0.1` 和 `(n-20)*0.05`。修改后的代码 ...
我一个大活人竟然抢过了chatgpt liuhongrun2022 发表于 2023-5-18 21:35
改成这样
python不能用百分数,变成小数就好了
学习了,谢谢,这一点好奇怪啊。还有一点想请教一下,python报错的位置为什么不是我代码的错误位置呢,如图,我上面用了百分数,结果报错位置在下面,参考图中标出来的位置。C:\Users\86188\Desktop\报错位置.png
页:
[1]