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 笔记本上移动热点开关状态查询
  • ¥85 类鸟群Boids——仿真鸟群避障的相关问题
  • ¥15 CFEDEM自带算例错误,如何解决?
  • ¥15 有没有会使用flac3d软件的家人
  • ¥20 360摄像头无法解绑使用,请教解绑当前账号绑定问题,
  • ¥15 docker实践项目
  • ¥15 利用pthon计算薄膜结构的光导纳
  • ¥15 海康hlss视频流怎么播放
  • ¥15 Paddleocr:out of memory error on GPU
  • ¥30 51单片机C语言数码管驱动单片机为AT89C52