# -*- 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