当前位置:   article > 正文

《Python 编程:从入门到实践》9-14 9-15 彩票练习题_pythone 9-14

pythone 9-14

题目内容:这两题需要大家从10个数和5个字母中取出4位作为中奖号码,再执行一个循环,得出循环多少次才能中奖。

题目看起来平平无奇,可问题是前面书中只讲了random库中的choice()randint()函数,如果用现有知识做肯定需要判定取出数字位数,以及是否取出了重复的值,非常麻烦。

不过如果先知难而退做了9-16,其实可以random库的介绍中发现还有个sample()函数,它直接能随机返回一组不重复的值 (generates samples without repeating values and without modifying the input sequence),这个时候咱再回头看9-14、9-15就巴适得很。

"""4位数彩票"""

from random import sample

numbers_15 = [
        1, 2, 3, 4, 5,
        6, 7, 8, 9, 10,
        'a', 'b', 'c', 'd', 'e'
        ]

luck_number = sample(numbers_15, 4)  #随机从numbers_15返回含有4个值的list
your_ticket = sample(numbers_15, 4)
n = 0   #循环次数

while luck_number != your_ticket:
    n += 1
    your_ticket = sample(numbers_15, 4)

print(f"You buy {n} ticket to win the lottery")
print(f"Your luck number is {your_ticket}")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
'
运行

运行结果:

You buy 38431 ticket to win the lottery
Your luck number is [9, 10, 2, 'e']
  • 1
  • 2

当然出题者应该更希望我们通过choice()函数完成题目来锻炼编程逻辑,所以关于正道的光推荐大家参考这位大神的作业

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/992898
推荐阅读
相关标签
  

闽ICP备14008679号