python - work3

# -*- coding:utf-8 -*-

'''
@project: jiaxy
@author: Jimmy
@file: work_20181107.py
@ide: PyCharm Community Edition
@time: 2018-11-07 10:46
@blog: https://www.cnblogs.com/gotesting/

'''

#
# 1:一个足球队在寻找年龄在10岁到12岁的小女孩(包括10岁和12岁)加入。
# 编写一个程序,询问用户的性别(m表示男性,f表示女性)和年龄,然后显示一条消息指出这个人是否可以加入球队,询问10次后,输出满足条件的总人数。
#
# i = 0
# count = 0
# for i in range(0,10):
# sex,age = input('请输入您的性别和年龄,m表示男性,f表示女性,如: m 18\n').split(' ')
# if sex == 'f':
# print('性别{},满足初步要求'.format(sex))
# if 12>=int(age)>=10:
# print('性别{},年龄{},你可以加入球队'.format(sex,age))
# count += 1
# else:
# print('年龄不满足要求')
# else:
# print('性别{},不满足要求'.format(sex))
# print('询问10次后,可以加入球队的人数为{}'.format(count))


#
# 2:利用for循环,完成a=[1,7,4,89,34,2]的冒泡排序: 冒泡排序:小的排前面,大的排后面。 
#

a = [1,7,4,89,34,2]
def bubble_sort(a):
lens = len(a)
for i in range (0,lens-1):
for j in range(0,lens-1-i):
if a[j] > a[j+1]:
a[j],a[j+1] = a[j+1],a[j]
bubble_sort(a)
print(a)

#
# 3: 万科笔试题:
#
# 有一组用户的登录信息存储在字典 login_ifno 里面,字典格式如下:login_info={"admin":"root","user_1":"123456"}
#
# key表示用户名,value表示密码,请编写函数满足如下条件:
#
# 1)设计1个登陆的程序, 不同的用户名和对成密码存在个字典里面, 输入正确的用户名和密码去登陆, 
#
# 2)首先输入用户名,如果用户名不存在或者为空,则一直提示输入正 确的用户名 
#
# 3)当用户名正确的时候,提示去输入密码,如果密码跟用户名不对应, 则提示密码错误请重新输入。
#
# 4)如果密码输入错误超过三次,中断程序运行。 
#
# 5)当输入密码错误时,提示还有几次机会
#
# 6)用户名和密码都输入正确的时候,提示登陆成功!'''

def login():

err_count = 0
remain_count = 0
login_info={"admin":"root","user_1":"123456"}
names = login_info.keys()

name = input('请输入用户名:')
while name not in names:
name = input('用户名不存在或者为空,请重新输入:')

if name in names:
if err_count < 3:
for err_count in range(0,3):
password = input('请输入密码:')
if password in login_info[name]:
print('登录成功!')
break
else:
err_count += 1
if err_count < 3:
remain_count = 3 - err_count
print('密码错误,请重新输入,你还有{}次尝试机会!'.format(remain_count))
else:
print('您已连续输入错误3次,请稍候再试!')
login()


# 另一种解法

login_info = {"admin":"root","user_1":"123456"}
while True:
name = input('请输入你的用户名:')
if name not in login_info.keys():
print('请输入正确的用户名!')
else:
count = 0
while True:
password = input('请输入密码:')
if password == login_info[name]:
print('登录成功!')
break
else:
count += 1
print('密码错误,还剩{}次机会!'.format(3-count))
if count == 3:
print('用户已被冻结!')
break
break
posted @ 2018-11-07 11:50  JiaxyGogogo  阅读(320)  评论(0编辑  收藏  举报