Python习题,求救!!!

1. 输入一个包含若干整数的列表,输出一个新列表,要求新列表中只包含原列表中的偶数。
2. 输入若干个成绩,求所有成绩的平均分。每输入一个成绩后询问是否继续输入下一个成绩。回答“yes”,就继续输入,回答“no”,就结束输入。
3. 自定义一个类,输入一段密码,判断密码的安全级别,要求1:至少6个字符;2:是否包含数字、小写字母、大写字母、指定标点符号等。共四种级别,四种字符都包含为最高级别。

1:

使用高阶函数filter

新列表 = list(filter(lambda x: x%2==0, 原列表))

2:

使用while循环输入,保存到列表,然后使用sum(列表)/len(列表)得到平均分

L = []
while True:
    s = input('请输入成绩:')
    if s.isdigit():
        L.append(int(s))
        s = input('是否继续输入?')
        if s != 'yes':
            break
    else:
        break
print('输入的成绩:', L)
if len(L) > 0:
    print('平均成绩:', sum(L)/len(L))

3.

使用re来判断

import re


class PasswordHelper(object):
    rules = ['[A-Z]+',
             '[a-z]+',
             r'\d+',
             '[\\' + '\\'.join('+-*/') + ']',  # 特殊符号+-*/
             ]
    def level(self, password):
        if len(password) >= 6:
            return sum(list(1 if re.search(r, password) else 0
                            for r in self.rules))
        return 0
            

pwd = PasswordHelper()
print(pwd.level('asdf'))
print(pwd.level('testpasswordhelper'))
print(pwd.level('TestPasswordHelper'))
print(pwd.level('TestPasswordHelper1'))
print(pwd.level('TestPasswordHelper-1'))

温馨提示:答案为网友推荐,仅供参考
相似回答