又是马上12点了,唉,我这个人太笨了,想了这么久,才模拟出来7星彩的打奖规则,而且用的是笨办法,我可能有时间再改进一下程序。估计没时间了,还得搞搞机器学习之类的东西。
我这个程序里面用到了def的self形参传递,class类的继承,还有最后模拟现实出奖规则的列表切片。
我每天都会坚持更新一篇关于python的文章,每天都做一些新鲜东西,然后版本持续更新。因为,我们每一天见到的人和事都不一样,所以,我们每一天也要做不一样的东西。我们不能停滞不前,在这个日新月异的时代,我们不管是软件还是硬件,都在持续更新,不更新就落后,落后的东西就会bug特别多,我们要不断完善程序,所以,可能一开始,我设计的程序是简单易懂的,可能会逐渐加入新的东西,来更新程序,使程序逐渐完善。
马上到点了
代码:
import random
class prize:
def init(self,S,num):
self.S = ‘’
self.num = ‘’
def inputnum(self):
while True:
#lst = []
self.num = str(input('请输入打奖号码:'))
#lst.append(self.num)
if len(self.num) > 7 or len(self.num) < 7:
#lst.remove(self.num)
print("输入错误!!请重输")
continue
#lst = []
#lst.append(self.num)
elif len(self.num) == 7:
break
print("您的打奖号码是",self.num)#lst)
def randomnum(self):
ls = []
#ls4 = []
for i in range(0,10):
ls.append(i)
while True:
A = random.choice(ls)
self.S += str(A)
#ls4.append(self.S)
if len(self.S) == 7:
break
#print("开奖号码是",ls4)
print("开奖号码是",self.S)#,ls4)
def contrast(self):
count = 0
ls1 = []
ls2 = []
for s in self.S:
ls1.append(s)
#print(ls1)
for n in self.num:
ls2.append(n)
while ls1!=[]:
E1 = ls1.pop()
E2 = ls2.pop()
if E1 == E2:
count += 1
#if [N for N in ls2] == [W for W in ls1]:
#count += 1
"""
for i in self.num:
if i == [w for w in ls1]:
count += 1
print([w for w in ls1])
"""
#print(self.num)
#print(type(self.num))
if count > 0:
print("很抱歉,您有",count,"个号码中了!!")
else:
print("恭喜您,没有中奖!!")
"""
for i in self.num:
for s in self.S:
if i == s:
count += 1
print("你有",count,"个号码中了!!")
"""
"""
ls2 = []
for i in self.S:
ls2.append(self.S)
ls3 = []
ls3.append(self.num)
for n in ls3:
if n in ls2:
count += 1
print('很抱歉,您中奖了!! 有', count, '个号码中了')
else:
print('恭喜您,您没有中奖!!')
"""
#if n != s:
#print('恭喜您没有中奖,请再接再厉')
#continue
“”"
p = prize(S=’’,num=’’)
p.inputnum()
p.randomnum()
p.contrast()
“”"
class prize2(prize):
def init(self,S,num):
super().init(S,num)
#self.frequency = frequency
def Number_of_sweepstakes(self):
self.frequency = int(input('输入打奖的次数:'))
while self.frequency > 0:
p = prize2(S='',num='')
p.inputnum()
p.randomnum()
p.regulations()
#p.contrast()
self.frequency -= 1
def regulations(self):
if self.num == self.S:
print("恭喜您,中一等奖!!")
elif self.num[0:7]==self.S[0:7] or self.num[1:8]==self.S[1:8]:
print("恭喜您,中二等奖!!")
elif self.num[0:5]==self.S[0:5] or self.num[1:6]==self.S[1:6] or self.num[2:7]==self.S[2:7]:
print("恭喜您,中三等奖!!")
elif self.num[0:4]==self.S[0:4] or self.num[1:5]==self.S[1:5] or self.num[2:6]==self.S[2:6] or self.num[3::]==self.S[3::]:
print("恭喜您,中四等奖!!")
elif self.num[0:3]==self.S[0:3] or self.num[1:4]==self.S[1:4] or self.num[2:5]==self.S[2:5] or self.num[3:6]==self.S[3:6] or self.num[4::]==self.S[4::]:
print("恭喜您,中五等奖!!")
elif self.num[0:2]==self.S[0:2] or self.num[1:3]==self.S[1:3] or self.num[2:4]==self.S[2:4] or self.num[3:5]==self.S[3:5] or self.num[4:6]==self.S[4:6] or self.num[5::]==self.S[5::]:
print("恭喜您,中六等奖!!")
else:
print("加油!!请下次继续努力")
p = prize2(S=’’,num=’’)
p.Number_of_sweepstakes()
效果截图:
打15次奖,只中一次五等奖。。好坑,以后绝比不打奖,中的概率是真的低。。