11、使用range打印100,99,98,……,1,0。
# 方法一:
for i in range(0, 101):
print(100 - i)
# 运行结果:
100
99
98
97
96
95
……
5
4
3
2
1
0
# 方法二:
for i in range(100, -1, -1):
print(i)
# 运行结果:
100
99
98
97
96
95
……
5
4
3
2
1
0
12、计算用户输入内容中索引为奇数并且对应的元素为数字的个数(没有则个数为零)。
user_input = input('>>>')
lis = list(user_input)
count = 0
for i in range(len(lis)):
if i % 2 != 0 and lis[i].isdigit():
count += 1
else:
continue
print('count = {}'.format(count))
13、补充代码(从已有的代码下面继续写):
有如下值 li = [11,22,33,44,55,77,88,99,90],将所有大于66的值保存至字典的第一个key中,将小于66的值保存至第二个key的值中。
li = [11,22,33,44,55,77,88,99,90]
result = {}
for row in li:
……
# 方法一:
li = [11, 22, 33, 44, 55, 77, 88, 99, 90]
result = {}
for row in li:
if row > 66:
if 'Key1' not in result:
result['Key1'] = []
result['Key1'].append(row)
else:
if 'Key2' not in result:
result['Key2'] = []
result['Key2'].append(row)
print(result)
# 运行结果:
{'Key2': [11, 22, 33, 44, 55], 'Key1': [77, 88, 99, 90]}
# 方法二:
li = [11, 22, 33, 44, 55, 77, 88, 99, 90]
result = {}
for row in li:
result.setdefault('Key1', [])
result.setdefault('Key2', [])
if row > 66:
result['Key1'].append(row)
else:
result['Key2'].append(row)
print(result)
# 运行结果:
{'Key1': [77, 88, 99, 90], 'Key2': [11, 22, 33, 44, 55]}
14、查找列表 li 中的元素,移除每个元素的空格,并找出以‘A’或者‘a’开头,并以‘c’结尾的所有元素,并添加到一个新列表中,最后循环打印这个新列表。
li = ['taibai ','alexC','AbC ','egon',' Ritian',' Wusir',' aqc']
li = ['taibai ', 'alexC', 'AbC ', 'egon', ' Ritian', ' Wusir', ' aqc']
New_li = []
for s in li:
if tuple(s.strip())[0].upper() == 'A' and tuple(s.strip())[-1] == 'c':
New_li.append(s.strip())
print(New_li)
# 运行结果:
['aqc']
15、实现一个整数加法计算器:
如: content = input('请输入内容:') # 如用户输入:5 + 8 + 7……(最少输入两个数相加),然后进行分割再进行计算,将最后的计算结果添加到此字典中(替换None):
dic = {'最终计算结果':None}
sum = 0
lis = []
flag = 1
while flag:
content = input('请输入计算式(如:5+8+7):').strip()
lis = list(content)
if len(content.split('+')) < 2:
print('你输入的格式不正确(应该输入至少两个数的加法算式),请重新输入!')
else if lis[-1] == '+':
print('你输入的格式不正确(计算式不能以‘+’结尾),请重新输入!')
else:
for i in lis:
if i.isdigit() or i == '+':
flag = 0
continue
else:
print('你输入的格式不正确(只能输入整数和‘+’),请重新输入!')
flag = 1
break
lis = content.split('+')
for i in lis:
sum += int(i)
dic = {'最终计算结果': sum}
print('dic = {}'.format(dic))
16、写程序:模拟公司HR录入员工账号密码的程序。
1)员工的账号密码存储在这种数据类型中:
user_list = [
{'username':'barry','password':'1234'},
{'username':'alex','password':'asdf'}
……
]
2)非法字符模板:board = ['张三','李小四','王二麻子']
3)HR输入用户名、密码(可持续输入,如果想终止程序,那就在输入用户名时输入Q或q退出程序break),在HR输入用户名时,检测此用户名是否有board里面的非法字符,如果有非法字符,则将非法字符替换成同数量的*(如王二麻子替换成****),然后添加到user_list中,如果没有非法字符,则直接添加到user_list中,每次添加成功后,打印出刚添加的用户名、密码。
board = ['张三', '李小四', '王二麻子']
user_dict = {}
user_list = []
while 1:
username = input('请输入用户名:')
if username.upper() == 'Q':
break
else:
password = input('请输入密码:')
for s in board:
if s in username:
username = username.replace(s, '*' * len(s))
else:
continue
user_dict['username'] = username
user_dict['password'] = password
user_list.append(user_dict)
user_dict = {}
print('恭喜你,用户{0}添加成功,用户名 = {0},密码 = {1}'.format(username, password))
print('所有用户列表如下:')
for dic in user_list:
print('用户名 = {},密码 = {}'.format(dic['username'], dic['password']))
网友评论