忙着长大532 2021-11-23 09:59 采纳率: 33.3%
浏览 52
已结题

Python,问题:国王让我从500个士兵里挑10个

国王允许我在500个士兵当中挑选10个士兵出来,但由于时间有限,不能全部面试500个士兵,为了公平,我决定有计算点击随机挑选1人,再由我和joe面试是否通过,通过后即出队入选。这样重复多次直到10人选满为止。
关于挑选勇士的程序,现在分析如下:1定义队伍人数,初始值是500。
2、面试后如何选中一人,队伍会少一个人。
3、如果未选中,让其归队,队伍人数不会变化。
4、无论上一次有没有选中,只需要再剩下的人数里继续产生随机数(注意:并不是从原来整个500人中产生)
5如果剩下的人数是490人就意味着10人已经选满,循环结束。
分析:用到随机数,就会用到上面我们所讲到的导入random,和随机函数randint()如果人数只剩下490,则我们就退出,使用exit()退出语句

  • 写回答

2条回答 默认 最新

  • 陈.py 2021-11-23 11:08
    关注
    
    import random
    n = 500
    
    
    def choose(n):
        select = random.randint(1, n)
        print('', select)
        result = input('该勇士是否通过面试?(Y/N)')
        return result
    
    
    while True:
        c = choose(n)
        if c == 'Y':
            n -= 1
            if n == 490:
                print('10人已选满')
                exit()
        else:
            n = n
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月1日
  • 已采纳回答 11月23日
  • 创建了问题 11月23日

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看