python-21-零基础自学python 写了一个彩票 发现买彩票中了真的是天选

学习内容:《python编程:从入门到实践》第二版

知识点:

from random import choice、choice()函数用法、while循环

练习内容:

练习9-14:彩票

创建一个列表或元组,其中包含10个数和5个字母。从这个列表或元组中随机选择4个数或字母,并打印一条消息,指出只要彩票上是这4个数或字母,就中大奖了。

练习9-15:彩票分析

可以使用一个循环来明白前述彩票大奖有多难中奖。为此,创建一个名为my_ticket的列表或元组,再编写一个循环,不断地随机选择数或字母,直到中大奖为止。请打印一条消息,报告执行循环多少次才中了大奖。

我的代码&运行结果:

练习

练习9-14:彩票

创建一个列表或元组,其中包含10个数和5个字母。从这个列表或元组中随机选择4个数或字母,并打印一条消息,指出只要彩票上是这4个数或字母,就中大奖了。

from random import choice
list = [1,2,3,4,5,6,7,8,9,0,"a","b","c","d","e"]
listyes = [0,7,5,"a"]
print("如果抽中075a,就会获得大奖")
first = choice(list)
print(f"第一个数是{first}")
second = choice(list)
print(f"第二个数是{second}")
third = choice(list)
print(f"第三个数是{third}")
forth = choice(list)
print(f"第一个数是{forth}")
#到这里就可以结束
if first in listyes and second in listyes and third in listyes and forth in listyes and first !=second !=third !=forth:
    print("恭喜你抽中啦")
else:
    print("很遗憾,这次未中")

练习

练习9-15:彩票分析

可以使用一个循环来明白前述彩票大奖有多难中奖。为此,创建一个名为my_ticket的列表或元组,再编写一个循环,不断地随机选择数或字母,直到中大奖为止。请打印一条消息,报告执行循环多少次才中了大奖。 

from random import choice
list = [1,2,3,4,5,6,7,8,9,0,"a","b","c","d","e"]
listyes = [0,7,5,"a"]
my_ticket = []
print("如果抽中075a,就会获得大奖")
time = 0

while True:
    first = choice(list)
    my_ticket.append(first)
    print(f"第一个数是{first}")
    second = choice(list)
    my_ticket.append(second)
    print(f"第二个数是{second}")
    third = choice(list)
    my_ticket.append(third)
    print(f"第三个数是{third}")
    forth = choice(list)
    my_ticket.append(forth)
    print(f"第一个数是{forth}")
    time += 1

    if my_ticket != listyes:
        print("很遗憾,这次未中")
        print(f"循环第{time}次")

    else:
        print("恭喜你抽中啦")
        print(f"循环第{time}次")
        break

 

注意点:这个彩票分析,总之是可能永远也抽不到,很容易让系统崩溃,运行结果就是上面这个,不断循环。

总结&问题:

1.这次练习有个问题,就是如果不在类里面,能否写一个方法呢?

2.一个代码认清楚买彩票中了有多难orz

  • 11
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值