利用random模块和函数写PK小游戏:
1 import random,time 2 3 4 player_list=['【狂血战士】','【森林箭手】','【光明骑士】','【独行剑客】','【格斗大师】','【枪弹专家】'] 5 enemy_list = ['【暗黑战士】','【黑暗弩手】','【骷髅骑士】','【嗜血刀客】','【首席刺客】','【陷阱之王】'] 6 players = random.sample(player_list,3) 7 enemys = random.sample(player_list,3) 8 player_info ={} 9 enemy_info ={} 10 11 def born_role(): 12 life = random.randint(100, 180) 13 attack = random.randint(30, 50) 14 return life,attack 15 16 def show_role1(): 17 for i in range(3): 18 player_info[players[i]] = born_role() 19 enemy_info[enemys[i]] = born_role() 20 print("------player--------") 21 print("角色信息") 22 for i in range(3): 23 print("%s 血量:%d 攻击:%d" % (players[i], player_info[players[i]][0], player_info[players[i]][1])) 24 print("------player--------") 25 print("敌人信息") 26 for i in range(3): 27 print("%s 血量:%d 攻击:%d" % (enemys[i], enemy_info[enemys[i]][0], enemy_info[enemys[i]][1])) 28 29 def order_role(): 30 global players 31 order_dic = {} 32 for i in range(3): 33 order = int(input("你想将%s 放在第几个上场?请输入(1-3)"%(players[i]))) 34 order_dic[order] = players[i] 35 players = [] 36 for i in range(1,4): 37 players.append(order_dic[i]) 38 # print(players) 39 40 def pk_role(): 41 round = 1 42 sorce = 0 43 for i in range(3): 44 # 提取玩家的角色名称 45 player_name = players[i] 46 enemy_name = enemys[i] 47 player_life = player_info[players[i]][0] 48 # 玩家血量是字典里的值(元组)的第0个元素,以下同理 49 player_attack = player_info[players[i]][1] 50 enemy_life = enemy_info[enemys[i]][0] 51 enemy_attack = enemy_info[enemys[i]][1] 52 # 每一局开战前展示战斗信息 53 print(' ----------------- 【第%d局】 -----------------' % round) 54 print('玩家角色:%s vs 敌方角色:%s ' % (player_name,enemy_name)) 55 print('%s 血量:%d 攻击:%d' % (player_name,player_life,player_attack)) 56 print('%s 血量:%d 攻击:%d' % (enemy_name,enemy_life,enemy_attack)) 57 print('--------------------------------------------') 58 input('请按回车键继续。 ') 59 while player_life >0 and enemy_life >0: 60 enemy_life = enemy_life - player_attack 61 player_life = player_life - enemy_attack 62 print('%s发起了攻击,%s剩余血量%d' % (player_name,enemy_name,enemy_life)) 63 print('%s发起了攻击,%s剩余血量%d'% (enemy_name,player_name,player_life)) 64 print('--------------------------------------------') 65 time.sleep(1) 66 else: 67 if player_life >0 and enemy_life <=0: 68 print("敌人挂了,你赢了") 69 sorce +=1 70 elif player_life <=0 and enemy_life >0: 71 print("敌人赢了,你输了!") 72 sorce += -1 73 else: 74 print("平局") 75 round +=1 76 input("---------点击回车,查看比赛结果:----------") 77 if sorce >0: 78 print("最终结果:你赢了!") 79 elif sorce<0: 80 print("最终结果:你输了!") 81 else: 82 print("最终结果:平局!") 83 def main(): 84 show_role1() 85 order_role() 86 pk_role() 87 88 main()
利用random模块和函数写石头、剪刀、布游戏:
1 import random 2 def UserInput(): 3 while 1: 4 user_choice = input("请输人你猜的拳【石头,剪刀,布】:") 5 computer = ["石头", "剪刀", "布"] 6 if user_choice not in computer: 7 print("输入error!") 8 continue 9 random_put = random.choice(computer) 10 if random_put == user_choice: 11 print("平局") 12 elif (random_put == "石头" and user_choice == "剪刀") or (random_put == "剪刀" and user_choice == "布"): 13 print("computer win! ") 14 else: 15 print("user win!")