我上大一时接触到程序设计基础这门课,这门课有时会有实验,我便常常摸鱼,利用CSDN来做,
虽然有时搜不到,但每次搜到时我想:爽!!!
于是我也开始写,写下我们这个时期的答案与青春
给定账户及密码如下:
账号 密码
aaa 123456
bbb 888888
ccc 333333
pass_dic = {"aaa": "123456", "bbb": "888888", "ccc": "333333"} # 密码字典
user_name = input("请输入用户名:") # 输入用户名
if user_name in pass_dic: # 检查用户名在密码字典中是否存在,若存在:
for i in range(0, 3): # 限定只能输入3次
pwd = input("请输入密码:") # 输入密码
if pwd == pass_dic[user_name]: # 检查密码是否与密码字典中对应用户的密码相等,若相等:
print("Success") # 输出"Success"并提前终止循环
break
else: # 检查密码是否与密码字典中对应用户的密码相等,若不相等:
if i < 2:
print("Fail,{} Times Left".format(2 - i)) # 提醒剩余次数
else:
print("Login Denied") # 超过3次时输出"Login Denied"
else: # 检查用户名在密码字典中是否存在,若不存在:
print("Wrong User") # 输出"Wrong User"
【提示】可以把字符串转换为集合,去重后转换为列表,对列表进行排序,然后再将字符串进行连接(可以考虑join())。
s=input("请输入字符串:")
ls=list(set(s)) #转换为集合去重后再转换为列表
ls.sort() #进行默认排序
s=''.join(ls) #连接为字符串
print("去重排序后的字符串为:"+s)#列表中的字符串元素连接为一个字符串
编号 |
评分1 |
评分2 |
评分3 |
评分4 |
评分5 |
评分6 |
评分7 |
评分8 |
012 |
90 |
94 |
97 |
86 |
85 |
89 |
88 |
85 |
005 |
91 |
91 |
92 |
98 |
90 |
96 |
90 |
95 |
108 |
96 |
86 |
97 |
96 |
87 |
86 |
86 |
96 |
037 |
95 |
95 |
94 |
93 |
97 |
98 |
99 |
95 |
066 |
95 |
87 |
94 |
94 |
93 |
99 |
96 |
97 |
020 |
89 |
97 |
91 |
95 |
89 |
94 |
97 |
92 |
【提示】
(1)评分表存储,可以考虑字典存储,存储形式:dict={编号: (用元组存放各个评分)}
(2)操作字典时,可以考虑items()函数;
比如:for k,v in dict.items()
(3)求平均分时,考虑使用sum(),max(),min()函数。保留两位小数,考虑使用round()函数。
(4)排序时,考虑sort()函数对列表进行排序。
(5)此题可以考虑使用列表推导式
scores={"012":(90,94,97,86,85,89,88,85),
"005":(91,91,92,98,90,96,90,95),
"108":(96,86,97,96,87,86,86,96),
"037":(95,95,94,93,97,98,99,95),
"066":(95,87,94,94,93,99,96,97),
"020":(89,97,91,95,89,94,97,92)} #用字典存储
ls=[] #用以存放最后的选手序号和对应成绩
for k,v in scores.items():
s=round((sum(v)-max(v)-min(v))/(len(v)-2),2)#每个选手的最后成绩
ls.append((k,s))
print(ls) #输出测试
ls.sort(key=lambda x:x[1],reverse=True)#排序
for k,v in ls:
print(k,v)