py001-石头剪刀布小游戏

 

1、非明文密码

import getpass 
password = getpass.getpass("password: ")

 

2、随机数

import random
rum = random.randint(1,10) #随机生成一个10以内的数字
result = int(input("guess the nuber: ")) # imput传入为字符串

 

3、条件表达式(三元运算符)

X if C else Y
small = x if x < y else y

 

4、石头剪刀布小游戏

# 石头/剪刀/布 人机交互小游戏。计算机随机出拳,人从键盘输入。
import random

computer = random.choice(['石头', '剪刀', ''])
player = input("请出拳(石头/剪刀/布): ")

# print("Your choice:", player, ", Computer's choice:", computer)
# "%s...%s" % (aaa, bbb)
print("Your choice: %s, Computer's choice: %s" % (player, computer))
if player == '石头':
    if computer == '石头':
        print('平局')
    elif computer == '剪刀':
        print('You WIN!!!')
    else:
        print('You LOSE!!!')
elif player == '剪刀':
    if computer == '石头':
        print('You LOSE!!!')
    elif computer == '剪刀':
        print('平局')
    else:
        print('You WIN!!!')
else:
    if computer == 'You WIN!!!石头':
        print('')
    elif computer == '剪刀':
        print('You LOSE!!!')
    else:
        print('平局')
View Code

优化写法

import random

win_list = [['石头', '剪刀'], ['剪刀', ''], ['', '石头']]
computer = random.choice(['石头', '剪刀', ''])
player = input("请出拳(石头/剪刀/布): ")

print("Your choice: %s, Computer's choice: %s" % (player, computer))
if player == computer:
    print('\033[32;1m平局\033[0m')
elif [player, computer] in win_list:
    print('\033[31;1mYou WIN!!!\033[0m')
else:
    print('\033[31;1mYou LOSE!!!\033[0m')

 

#通过列表选择

#!/usr/bin/env python
# -*- coding:utf-8 -*-

import random

all_choice = ['石头','剪刀','']
win_list = [['石头','剪刀'], ['剪刀',''], ['','石头']]

prompt = '''
(0)石头
(1)剪刀
(2)布
请输入您的选择(0/1/2):
'''
computer = random.choice(all_choice)
ind = int(input(prompt))
player = all_choice[ind]

print("Your choice:%s,computer's choice:%s" %(player,computer))

if player == computer:
print('平局')
elif [player,computer] in win_list:
print('You win')
else:
print('You lose')
View Code

#通过字典选择

#!/usr/bin/env python
# -*- coding:utf-8 -*-

import random

all_choice = ['石头','剪刀','']
win_list = [['石头','剪刀'],['剪刀',''],['','石头']]
player_choice = {'0':'石头','1':'剪刀','2':''}
prompt = '''
(0)石头
(1)剪刀
(2)布
请输入您的选择(0/1/2):
'''
computer = random.choice(all_choice)
key = input(prompt)
player = player_choice[key]

print("Your choice:%s,computer's choice:%s" %(player,computer))
if player == computer:
print('平局')
elif [player,computer] in win_list:
print('You win')
else:
print('You lose')
View Code

 

三局两胜

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# 三局两胜
import random
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# 三局两胜
import random

all_choice = ['石头','剪刀','']
win_list = [['石头','剪刀'], ['剪刀',''], ['','石头']]
counter = 0
win_counter = 0
lost_counter = 0
times = 0
prompt = '''
(0)石头
(1)剪刀
(2)布
请输入您的选择(0/1/2):
'''

while counter < 3:

computer = random.choice(all_choice)
ind = int(input(prompt))
player = all_choice[ind]
#counter += 1
times += 1
print("Your %d times choice:%s,computer's choice:%s" %(counter,player,computer))

if player == computer:
print('第%d次 平局' %times)

elif [player,computer] in win_list:
print('第%d次 win' %times)
win_counter += 1
counter += 1
else:
print('第%d次 lose' %times)
lost_counter += 1
counter += 1
else:
if win_counter >= 2:
print('YOU WIN!')
elif lost_counter >= 2:
print('YOU LOST!')
else:
print('平局')
View Code

 

posted @ 2019-01-16 17:08  Cslc-DaweiJ  阅读(292)  评论(0)    收藏  举报