鱼C论坛

 找回密码
 立即注册
查看: 1896|回复: 4

想知道为什么这个else不能与if对齐

[复制链接]
发表于 2023-10-4 15:43:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
realprofit=int(input('请输入月利润:'))
standardprofit=[0,100000,200000,400000,600000,1000000]
pushmoney=[0.1,0.075,0.05,0.03,0.015,0.01]
sum=0
realpushmoney=0
for i in range(0,6):
    if realprofit > standardprofit[i]:
        realpushmoney=(realprofit-standardprofit[i])*pushmoney[i]+realpushmoney
    sum=100000*0.1+realpushmoney

    else:
    break
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-10-4 15:44:06 | 显示全部楼层
代码中的else不能与if对齐是因为if语句中有一个缩进,而else语句中没有缩进。在Python中,代码块需要有正确的缩进才能正确执行。在这个例子中,if语句的代码块有正确的缩进,而else语句的代码块没有缩进。正确的代码应该是这样的:


realprofit = int(input('请输入月利润:'))

standardprofit = [0, 100000, 200000, 400000, 600000, 1000000]

pushmoney = [0.1, 0.075, 0.05, 0.03, 0.015, 0.01]

sum = 0

realpushmoney = 0

for i in range(0, 6):

    if realprofit > standardprofit:

        realpushmoney = (realprofit - standardprofit) * pushmoney + realpushmoney

    sum = 100000 * 0.1 + realpushmoney

    else:

        break


在这个例子中,else语句的代码块与if语句的代码块都有正确的缩进,以便正确执行。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-10-4 15:44:24 | 显示全部楼层
你的代码中存在一些格式和逻辑错误。首先,else 语句应该与相应的 if 语句对齐。其次,你需要在 for 循环中使用 i 来访问 standardprofitpushmoney 列表的元素。以下是修改后的代码:
realprofit = int(input('请输入月利润:'))
standardprofit = [0, 100000, 200000, 400000, 600000, 1000000]
pushmoney = [0.1, 0.075, 0.05, 0.03, 0.015, 0.01]
sum = 0
realpushmoney = 0

for i in range(0, 6):
    if realprofit > standardprofit[ i]:
        realpushmoney = (realprofit - standardprofit[ i]) * pushmoney[ i] + realpushmoney
        sum = 100000 * 0.1 + realpushmoney
    else:
        break

print("总提成:", sum)

这个修改后的代码应该可以正常运行。else 语句现在与相应的 if 语句对齐,for 循环中的 i 用于访问 standardprofitpushmoney 列表的元素。
如果问题已经解决,请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-10-4 15:44:29 | 显示全部楼层
问题:为什么这个else不能与if对齐?

答案:在您提供的代码中,else 语句与 if 语句没有正确对齐。这是因为 Python 依赖于缩进来确定代码块的层次结构。在这种情况下,else 语句应该与相应的 if 语句具有相同的缩进级别。此外,您的代码中还有一些其他问题,例如 sum 是 Python 的内置函数,最好不要用作变量名。以下是修改后的代码:
realprofit = int(input('请输入月利润:'))standardprofit = [0, 100000, 200000, 400000, 600000, 1000000]pushmoney = [0.1, 0.075, 0.05, 0.03, 0.015, 0.01]total = 0realpushmoney = 0for i in range(0, 6):    if realprofit > standardprofit[i]:        realpushmoney = (realprofit - standardprofit[i]) * pushmoney[i] + realpushmoney        total = 100000 * 0.1 + realpushmoney    else:        breakprint("实际提成:", total)
这段代码首先获取用户输入的月利润,然后使用 for 循环遍历 standardprofitpushmoney 列表。如果 realprofit 大于当前阶段的 standardprofit,则计算提成并累加到 realpushmoneyelse 语句用于在找到适当的提成阶段后跳出循环。最后,将计算结果输出。

球一个最佳答案谢谢啦!这对我非常重要!
本段回答来自Chat GPT-4,如有错误,多多包涵!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-10-14 11:07:52 | 显示全部楼层
sum = 100000 * 0.1 + realpushmoney
这一句缩进不够
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-24 03:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表