1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ # @Date : 2017-09-12 09:39:06
4
+ # @Author : kangvcar (kangvcar@126.com)
5
+ # @Link : http://www.github.com/kangvcar/
6
+ # @Version : $Id$
7
+
8
+ import random #导入随机数模块
9
+
10
+ namedict = {} #定义字典namedict用于存储玩家名和猜对的次数
11
+ names = [] #定义列表names用于存储多个玩家名
12
+
13
+ kcNum = 4
14
+ lun = 1
15
+
16
+ def inputName (namestr ): #切割names列表,并把所有玩家写入namedict字典
17
+ for i in namestr .split (',' ):
18
+ namedict [i ] = 0
19
+
20
+ def pScore (): #打印排行榜函数
21
+ print '-----------'
22
+ print '---score---'
23
+ print '-----------'
24
+ for key in namedict :
25
+ print key , '猜对了' , namedict [key ], '次'
26
+
27
+ pkNum = int (raw_input ('请主持人确定PK次数:' ))
28
+ sNum = int (raw_input ('请主持人确定猜数字的范围最小值:' ))
29
+ bNum = int (raw_input ('请主持人确定猜数字的范围最大值:' ))
30
+ kcNum = int (raw_input ('请主持人确定每次可以猜的次数(默认4次):' ))
31
+ namestring = raw_input ('请每位参赛者按顺序输入自己的名字(用逗号,分割):' ) #读取字符串namestring
32
+ inputName (namestring )
33
+
34
+ while pkNum > 0 : #判断PK次数是否大于0
35
+ suiji = random .randint (sNum , bNum ) #生成随机数
36
+ print '===第' , lun , '轮==='
37
+ for x in range (kcNum ): #循环可猜的次数
38
+ print '===第' , lun , '轮==>第' , x + 1 , '次'
39
+ for j in namedict : #循环显示玩家名
40
+ a = 0
41
+ print j , '玩家:'
42
+ num = int (raw_input ('your number is:' )) #读取玩家猜的数字
43
+ if num == suiji :
44
+ print 'you win!'
45
+ a = 1
46
+ namedict [j ] = namedict [j ] + 1 #在namedict字典对应的玩家值加1
47
+ suiji = random .randint (sNum , bNum ) #重新生成随机数
48
+ break #结束循环
49
+ elif num > suiji :
50
+ print 'too big'
51
+ else :
52
+ print 'too small'
53
+ if a == 0 : #判断是否所有玩家都没有猜对
54
+ print '===>game over<==='
55
+ print '===>result number is:' , suiji
56
+ suiji = random .randint (sNum , bNum ) #重新生成随机数
57
+ pkNum = pkNum - 1 #pk次数减1
58
+ if pkNum > 0 :
59
+ lun = lun + 1
60
+
61
+ pScore () #调用打印排行榜函数
0 commit comments