plapapyjh 2022-08-26 17:47 采纳率: 43.5%
浏览 40
已结题

python初学者的基础问题

题目要求是营销额1000刀以下奖10%的营销额,100刀以上奖15%营销额,输入营销额,如果输入是正数,在运行完一次后不会退出代码,而是再次循环,直到输入负数时输出“输入错误”,并结束进程

sales = float(input("Enter sales:$"))
bonus = 0  # bonus
while ("sales >= 0"):
    if sales <= 1000:
        bonus = sales * 0.1
        print('A bonus of $%s shall be paid' % bonus)
        break
    elif sales >= 1000:
        bonus = sales * 0.15
        print('A bonus of $%s shall be paid' % bonus)
        break
    else:
        print("Please check the input")

这是我自己写的,能运行,但是有两个问题
1、循环有问题,输入正数后,会退出代码,不会接着循环
2、输入负数后,不知道为什么会出现和输入正数后一样输出奖金数
麻烦看一下,给一个完整改后的代码,都是最基础的问题,谢谢

  • 写回答

2条回答 默认 最新

  • 快乐鹦鹉 2022-08-26 17:58
    关注

    1000刀以下奖10%的营销额,100刀以上奖15%营销额
    这啥奖励机制啊,1000万10%,100-1000万15%?
    while ("sales >= 0"):这不行啊,一个字符串搞什么while
    改为 if(sales >= 0): 就行了啊,哪有循环啊
    bonus是浮点数,别用%s啊,改成%f
    break也不要了

    sales = float(input("Enter sales:$"))
    bonus = 0  # bonus
    if sales >= 0:
        if sales <= 1000:
            bonus = sales * 0.1
            print('A bonus of $%d shall be paid' % bonus)
        elif sales >= 1000:
            bonus = sales * 0.15
            print('A bonus of $%d shall be paid' % bonus)
    else:
       print("Please check the input")
     
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月3日
  • 已采纳回答 8月26日
  • 创建了问题 8月26日

悬赏问题

  • ¥15 基于单片机数字电压表电路组成及框图
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line