国王允许我在500个士兵当中挑选10个士兵出来,但由于时间有限,不能全部面试500个士兵,为了公平,我决定有计算点击随机挑选1人,再由我和joe面试是否通过,通过后即出队入选。这样重复多次直到10人选满为止。
关于挑选勇士的程序,现在分析如下:1定义队伍人数,初始值是500。
2、面试后如何选中一人,队伍会少一个人。
3、如果未选中,让其归队,队伍人数不会变化。
4、无论上一次有没有选中,只需要再剩下的人数里继续产生随机数(注意:并不是从原来整个500人中产生)
5如果剩下的人数是490人就意味着10人已经选满,循环结束。
分析:用到随机数,就会用到上面我们所讲到的导入random,和随机函数randint()如果人数只剩下490,则我们就退出,使用exit()退出语句
import random
soldier = [random.randint(1,
500) for _ in range(500)]
random.shuffle(soldier)
result = set()
while len(result) < 10:
while True:
select = random.randint(1, 500)
if select not in soldier:
continue
else:
break
r = input(f"面试官,我是【{select}】号士兵,选我不?(Y/N)")
if r == "Y":
result.add(select)
soldier.remove(select)
print(result)