python疑问不理解

img


划浪线部分不理解,有哪位可以教教如何理解,如何解读,谢谢🙏谢谢各位

sorted()方法用来给数组排序,所以它有一个必须的位置参数,就是用来进行排序的数组,在Python里的类型是list.
比如:

a = [3, 2, 4, 1, 5]
sorted_a = sorted(a)
print("排序后的升序数组:{}".format(sorted_a))
print("排序后的降序数组:{}".format(sorted_a, reverse=True))

sorted()方法除了必须的位置参数,也可接受其它可选参数,比如reverse=True, 如果reverse等于True,那么表示数组的排序是降序; 如果reverse=False表示是升序,默认是升序(也就是说,如果没有传入reverse,那么默认以升序排序。

reversed()方法可以将数组或者字符串反转,这个方法只反转不排序,比如原来是[1,2,4,3],那么转化后就是[3,4,2,1]
type()获取对象的类型, 比如type("ab"),会得到<class 'str'>。

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7640546
  • 这篇博客你也可以参考下:python 批量读取电脑文件夹内视频,获取视频分辨率,过滤删除分辨率较小的文件
  • 你还可以看下python参考手册中的 python-互联网数据处理
  • 除此之外, 这篇博客: Python实验七中的 多是课件程序,反复练习即可,如有问题,可私信删除此文,谢谢 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • jieba库导入方法(在cmd命令中输入以下指令,如下载过慢,可采取换源 pip install 安装库 -i 源地址)本人用的是清华的:https://pypi.tuna.tsinghua.edu.cn/simple

    pip install jieba 
    

    1、编写程序打印99乘法表,要求使用format()进行格式化输出。

    for i in range(1,10):
        for j in range(1,i+1):
            print('{:1}*{:0}={:02}'.format(j,i,i*j),end = ' ')
        print()
    

    2、使用string模块提供的字符串常量,模拟生成指定长度的随机密码。

    import random
    from string import ascii_letters,digits
    def generatePassword(n):
            res = ascii_letters + digits
            password = ''.join(random.sample(res,n))
            return password
    
    count = int(input("请输入你要产生几位密码:"))
    print(generatePassword(count))
    

    3、通过精确模式、全模式和搜索引擎模式对文本“中华人民共和国是伟大的国家”进行分词,简述他们的异同。

    import jieba
    String = "中华人民共和国是伟大的国家"
    print(jieba.lcut(String))
    print(jieba.lcut(String,cut_all=True))
    print(jieba.lcut_for_search(String))
    #相同:都是找出字符串中可能组成词语的字符
    #不同:精确模式:把文本精确的切分开,不存在冗余单词
    #全模式:把字符串中所有可能的词语都找出来,有冗余
    #搜索引擎模式: 在精确模式上对长词语进行细分
    

    4、统计《三国演义》中出现次数较高的人物。(需选定老师指定文本,其中读文本操作,以后会学习到)

    import jieba
    excludes = {'先主','将军','却说','荆州','二人','不可',
                '不能','如此','忽然','下马','喊声','马岱',
                '商议','军士','左右','引兵','大喜','于是',
                '东吴','今日','如何','军马','天下','不敢',
                '魏兵','人马','不知','一人','众将','只见',
                '蜀兵','大叫','上马','此人','一面','太守',
                '后人','背后','何不','城中','忽报','先锋',
                '然后','大军','先生','何故','不如','令人',
                '赶来','江东','正是','徐州','因此','未知','大败',
                '百姓','一军','之后','接应','起兵','不见','进兵',
                '次日','陛下','汉中','天子','夫人','原来','成都',
                '大事','引军','可以','心中','大怒','军中'}
    txt = open("E:\三国演义.txt", "r", encoding = 'utf-8').read()
    words = jieba.lcut(txt)
    counts = {}
    for word in words:
        if len(word) == 1:
            continue
        elif word == '诸葛亮' or word == '孔明曰':
            rword = '孔明'
        elif word == '云长' or word == '关公':
            rword = '关羽'
        elif word == '燕人' or word == '翼德':
            rword = '张飞'
        elif word == '玄德曰' or word == '玄德':
            rword = '刘备'
        elif word == '孟德' or word == '丞相':
            rword = '曹操'
        elif word == '后主' or word == '阿斗':
            rword == '刘禅'
        elif word == '都督' or word == '公瑾':
            rword = '周瑜'
        elif word == '子敬' or word == '参军':
            rword = '鲁肃'
        elif word == '子龙':
            rword = '赵云'
        else:
            rword = word
        counts[rword] = counts.get(rword,0)+1
    for word in excludes:
        del(counts[word])
    items = list(counts.items())
    items.sort(key = lambda x:x[1],reverse = True)
    for i in range(15):
        word,count = items[i]
        print("{0:<10} {1:>5}".format(word,count))          
    

    5、编程检查并判断密码字符串的安全强度。

    import string
    def check(pwd):
        if not isinstance(pwd,str) or len(pwd)<6:
            return "太简单了"
        strength = {1:'weak',2:'low middle',3:'above middle',4:'high'}
        list = [False]*4
        for ch in pwd:
            if not list[0] and ch in string.digits:
                list[0] = True
            elif not list[1] and ch in string.ascii_lowercase:
                list[1] = True
            elif not list[2] and ch in string.ascii_uppercase:
                list[2] =True
            elif not list[3] and ch in ',.!;?<>/;':
                list[3] = True
        return strength.get(list.count(True),'输入有误')
    while True:
        password = input("请输入密码:")
        s = check(password)
        print(s)
    
  • 您还可以看一下 CSDN就业班老师的Python爬虫技术和浏览器模拟,验证码识别视频教程课程中的 网络爬虫实战小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    Python中使用下划线的作用有很多种:

    1. 在变量名中使用下划线可以表示“私有变量”,也就是在类定义中的“__xxx”格式,只有类对象本身能访问到这些变量,外部无法访问。

    2. 在函数名或变量名前加一个下划线,通常表示是一个私有函数或私有变量,建议在外部不要调用或使用。

    3. 在Python中可以使用下划线代替数字分隔符,使数字更易于阅读。

    4. Python中的“_”(一个下划线)表示“上一个表达式的结果”,也可以称为“哑元变量”。

    5. 在for循环中使用下划线表示“循环中不需要此变量”。

    对于代码 "x_y = 10" 中的下划线,只是普通的变量名,没有特殊含义,可以理解为x_y是一个变量名,值为10。如果这个变量是在类中使用,并且命名为“__x_y”,那么就成了私有变量。