#encoding = UTF-8
'''
@author:xianyt
@vertion:python3
@date:20180723
@func:19、 模拟实现用户登录,允许三次错误,超过三次退出
实现逻辑:
1)创建一个字典来存放用户账号和密码
2)添加用户账号和密码
3)登陆功能
i)检查输入的用户名是否正确
ii)检查输入的对应密码是否正确
iii)不停判断是否以输错三次,是则退出程序
'''
'''
添加用户,如果用户名存在则直接修改
'''
def adduser():
userTable.update({'root': 'root'})
print("添加用户信息,默认用户/密码:root")
while True:
username = input('账户:')
psw = input('密码:')
userTable.update({username: psw})
print("按F/f键退出添加用户信息,按任意键继续")
mychoice = input()
if mychoice is 'f' or mychoice is 'F':
break
'''
检查输入的用户名和密码是否正确,输入3次就锁住
'''
def checklogin(logincount):
loginError = 0
while loginError <= logincount :
userNameTemp = input('请输入要登录的用户名:')
if not userTable.__contains__(userNameTemp): #不存在该用户
print('账户不存在,请重新输入!')
loginError += 1
continue
pswTemp = input('请输入密码:')
if userTable.get(userNameTemp) == pswTemp:
print('登录成功')
return 1
break
else:
print('密码输入错误,请重新输入!')
loginError += 1
if loginError > logincount:
print("您已输错%s次,请稍后再试!!!"%logincount)
return 0
if __name__ == '__main__':
userTable = {}
adduser()
checklogin(3);
#encoding = UTF-8
'''
@author xianyt
@version python 3
@func:实现人机 石头剪刀布游戏,一局出胜负和三局两胜
'''
import random
def playGames():
while True:
user = input("请输出石头(0),剪刀(1),布(2):") #用0,1,2简化实现代码
if not user.isdigit() or int(user) < 0 or int(user) > 2 :
print("请输入0~2范围的值")
else:
break
comp = str(random.randrange(0,2))
if comp is '0':
print("机器出石头")
elif comp is '1':
print('机器出剪刀')
else:
print('机器出步')
temp = user + comp
dic = {'00': 'p', '01': 'u', '02': 'c',
'10': 'c', '11': 'p', '12': 'u',
'20': 'u', '21': 'c', '22': 'p'}
result = dic.get(temp)
if result.find('u'):
print("本局你赢啦")
elif result.find('c'):
print("好可惜,机器赢了。请再接再厉~")
else :
print("平局")
return dic.get(temp)
'''
18、 实现人机石头剪刀布游戏,3局2胜,平局加局胜
'''
def playGameThree():
ucount = 0 #记录用户赢得次数
gcount = 0 #记录机器赢得次数
for x in range(3):
result = playGames()
if result.find('u'):
ucount += 1
elif result.find('c'):
gcount += 1
if x == 1 and (gcount == 2 or ucount ==2): break
if gcount > ucount :
print("********好可惜,机器赢了********")
elif gcount < ucount:
print("********恭喜你,取得了最终的胜利。棒棒哒!********")
else:
print("********平局********")
if __name__ == '__main__':
print("欢迎进入该游戏,在本游戏中石头(0),剪刀(1),布(2):")
#playGames()
playGameThree()