学习内容:《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