python学习站 /学习python第三周
阅读主题
正文字体
字体大小

13.homework

本节2822字2025-04-09 16:46:56
"""
Auther:少校
Time:2025/4/8 17:21
越努力,越幸运
"""
from random import choices


# 1.编写一个函数,接收两个数字参数并返回它们的和
def sx_sum(num1,num2):
    return num1 + num2
sum3=sx_sum(10,20)
print(sum3)
# 2.写一个函数计算圆的面积
def circle(radius:int):
    return 3.14 * radius**2
circle1=circle(5)
print(circle1)
# 3.创建一个函数,判断一个数是否为偶数
def is_ou(num1:int):
    if num1 % 2 == 0:
        return "是偶数"
    else:
        return "是奇数"
print(is_ou(3))
# 4.编写函数将摄氏度转换为华氏度
def she_hua(du):
    return du * (9 / 5) + 32
zhuan=she_hua(10)
print(zhuan)
# 5.实现函数统计字符串中元音字母(a, e, i, o, u)的数量
def yuan_count(str1:str):
    count1= 0
    for x in str1:
        if x in "aeiouAEIOU":
            count1 += 1
    return count1
yuan_count1=yuan_count("abcedupoiqwe")
print(yuan_count1)
# 6.创建函数检查字符串是否为回文(正反相同)
def is_hui(str1):
    if str1 == str1[::-1]:
        return "是回文"
    else:
        return "不是回文"
print(is_hui("abcba"))
# 7.编写函数返回列表中最大值(不使用内置函数)
def is_max(list1:list):
    max1 = 0
    for x in list1:
        if x > max1:
            max1 = x
    return max1
print(is_max([1,2,3,4,99,8]))
# 8.写一个函数生成指定长度的随机密码(包含大小写字母和数字)
def passwd(num1:int):
    from random import randrange
    str1=""
    for x in range(num1):
        a = chr(randrange(48, 57))
        b = chr(randrange(65, 90))
        c = chr(randrange(97, 122))
        if randrange(0,2) == 0:
            str1 += a
        elif randrange(0,2) == 1:
            str1 += b
        else:
            str1 += c
    return str1
print(passwd(8))
#方法二:
def random_password(num1:int):
    all_list=[chr(x) for x in range(97,97+26)] + [chr(x) for x in range(65,65+26)] + [str(x) for x in range(10)]
    return "".join(choices(all_list,k=num1))
print(random_password(9))
# 9.创建函数合并两个列表并去重
def hb_list(list1,list2):
    list3 = list1 + list2
    list4 = []
    for x in list3:
        if x not in list4:
            list4.append(x)
    return list4
print(hb_list([1,2,3,4,5,6,7,7],[6,7,7,8,9,5,4,3]))
# 10.实现函数计算任意多个数字的平均值
def pjz(*nums):
    return sum(nums) / len(nums)
print(pjz(1,2,3,4,5,6,7,8,9))
# 11.创建函数检查参数是否为质数
def is_zhi(num:int):
    for x in range(2,num):
        if num % x == 0:
            return "不是质数"
    return "是质数"
print(is_zhi(4))
# 12.创建函数验证密码强度(长度、大小写、特殊字符)
def is_q(str1:str):
    from re import findall
    if findall(r"[a-z]",str1) is not None and findall(r"[A-Z]",str1)is not None and findall(r"[\W_]",str1) is not None and len(str1) >= 8:
        return "密码强度很高"
    else:
        return "密码强度不够"
print(is_q("ad*A6d2a0"))
#方法二
def password_strength(pw:str):
    """
    验证密码强度
    强度标准:长度超过6位,同时包含大小写和特殊字符(,.?~@$^&*!)
    :param pw:
    :return:
    """
    if len(pw) <=6:
        return "弱"
    c1 = c2 = c3 = 0
    for x in pw:
        if x.islower():
            c1 += 1
        elif x.isupper():
            c2 += 1
        elif x in ",.?~@$^&*!":
            c3 += 1
    if c1 > 0 and c2 > 0 and c3 > 0:
        return "强"
    return "弱"
print(password_strength("ad*A6d2a0"))


网友评论

相关作品