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日

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况