鱼C论坛

 找回密码
 立即注册
查看: 2405|回复: 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
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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



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

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

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

  4. sum = 0

  5. realpushmoney = 0

  6. for i in range(0, 6):

  7.     if realprofit > standardprofit:

  8.         realpushmoney = (realprofit - standardprofit) * pushmoney + realpushmoney

  9.     sum = 100000 * 0.1 + realpushmoney

  10.     else:

  11.         break

复制代码



在这个例子中,else语句的代码块与if语句的代码块都有正确的缩进,以便正确执行。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-10-4 15:44:24 | 显示全部楼层
你的代码中存在一些格式和逻辑错误。首先,else 语句应该与相应的 if 语句对齐。其次,你需要在 for 循环中使用 i 来访问 standardprofitpushmoney 列表的元素。以下是修改后的代码:

  1. realprofit = int(input('请输入月利润:'))
  2. standardprofit = [0, 100000, 200000, 400000, 600000, 1000000]
  3. pushmoney = [0.1, 0.075, 0.05, 0.03, 0.015, 0.01]
  4. sum = 0
  5. realpushmoney = 0

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

  12. print("总提成:", sum)
复制代码


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

使用道具 举报

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

答案:在您提供的代码中,else 语句与 if 语句没有正确对齐。这是因为 Python 依赖于缩进来确定代码块的层次结构。在这种情况下,else 语句应该与相应的 if 语句具有相同的缩进级别。此外,您的代码中还有一些其他问题,例如 sum 是 Python 的内置函数,最好不要用作变量名。以下是修改后的代码:
  1. realprofit = int(input('请输入月利润:'))
  2. standardprofit = [0, 100000, 200000, 400000, 600000, 1000000]
  3. pushmoney = [0.1, 0.075, 0.05, 0.03, 0.015, 0.01]
  4. total = 0
  5. realpushmoney = 0
  6. for i in range(0, 6):
  7.     if realprofit > standardprofit[i]:
  8.         realpushmoney = (realprofit - standardprofit[i]) * pushmoney[i] + realpushmoney
  9.         total = 100000 * 0.1 + realpushmoney
  10.     else:
  11.         break
  12. print("实际提成:", total)
复制代码

这段代码首先获取用户输入的月利润,然后使用 for 循环遍历 standardprofitpushmoney 列表。如果 realprofit 大于当前阶段的 standardprofit,则计算提成并累加到 realpushmoneyelse 语句用于在找到适当的提成阶段后跳出循环。最后,将计算结果输出。

球一个最佳答案谢谢啦!这对我非常重要!
本段回答来自Chat GPT-4,如有错误,多多包涵!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-10-14 11:07:52 | 显示全部楼层
  1. sum = 100000 * 0.1 + realpushmoney
复制代码
这一句缩进不够
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-23 00:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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