抢红包游戏

 1 #coding:utf8
 2 import random
 3 import sys
 4 reload(sys)
 5 sys.setdefaultencoding('gbk')
 6 def redpacket(money_total,pople_num=1):
 7     res = []
 8     if pople_num == 1:
 9         res.append(money_total)
10         return res
11     while pople_num > 0:
12         max_m = money_total*100-pople_num#为了保证每个人都有红包拿,限制了最大红包的值
13         m = random.randint(1,int(max_m))
14         m = m*0.01
15         res.append('%.2f'%m)
16         money_total -= m
17         pople_num -= 1 
18         if pople_num == 1:
19             res.append('%.2f'%money_total)
20             break
21     return res
22 
23 if __name__ == '__main__':
24     m_total = int(raw_input(u'发红包:'))
25     p_num = int(raw_input(u'几个人抢:'))
26     print u' 设置抢红包金额:'+str(m_total)
27     print u' 设置抢红包的人数 :'+str(p_num)
28     res = redpacket(m_total,p_num)
29     names = []
30     while p_num > 0:
31         name = raw_input(u'输入你的英文大名来抢红包!: ')#为什么只能输入英文大名?
32         if name in names:
33             print name + u' 你抢过一次了把机会留给别人吧!'
34         else:
35             n = random.randint(0,len(res)-1)
36             print name+u' 抢了'+str(res[n])+u''
37             res.remove(res[n])
38             names.append(name)
39             p_num -= 1
40             print u' 剩余次数:' + str(p_num)

 

posted @ 2016-10-06 06:24  恰似少年  阅读(148)  评论(0编辑  收藏  举报