m0_74961102 2022-11-09 11:19 采纳率: 100%
浏览 109
已结题

有几题Paython题不会,求截屏出代码过程。

有几题Paython题不会,求截屏出代码过程。
6、 编写函数 check(username, password) 用于检测用户输入的登录
信息,如果两项检查都通过则返回 True,否则返回 False:
(1) 用户名 username 至少 4 个字符,至多 12 个字符,只能
由英文字母、数字和下划线组成,第一个字符只能是英文;
(2) 密码 password 至少 6 位字符,至多 16 位字符,只能由
英文字母、数字和空格组成;
用户名和密码均区分大小写。
完成程序调用该函数,输入用户名和密码并检验,当格式正确,
并且用户名为“Anonymous”、密码为“Deep Throat”时,显示“登
录成功,”否则显示“登录失败”,失败时可以累计尝试输入三次。
7、 编写程序,按照输入的文件夹完全路径名,将该文件夹及其所
有的子文件夹连同其中所有的文件名与后缀名,如果是英文的
全部改成大写。
8、 完成一个敏感词过滤程序,分别输入待过滤的文件名与保存过
滤结果的文件名,将待过滤文件中单独的敏 感词转换为等长度
的“*”字符。
设待过滤文件和敏感词均为纯英文文本文件,需要过滤的敏感
词存放在文本文件“sensitive.txt”中,每行一个敏感词。
所谓单独的敏感词指的是单词前后可以有标点符号和空格,但
是不能有字母,另外,待过滤的敏感词并不区分大小写。
提示:第 6、8 题运用正则表达式来实现功能代码较精简。

  • 写回答

3条回答 默认 最新

  • honestman_ 2022-11-09 14:43
    关注

    第六题:

    
    def check(username: str, password: str):
        if 4<= len(username) <= 12 and 6 <= len(password) <= 16:
            if username[0].isalpha():
                for w in username:
                    if w.isalpha() or w.isdigit() or w=='_':
                        continue
                    else:
                        return False
            for p in password:
                if p.isalpha() or p.isdigit() or p == ' ':
                    continue
                else:
                    return False
            return True
    count = 0
    while 1:
        u = input('输入用户名')
        p = input('输入密码')
        if check(u, p) and u == 'Anonymous' and p == 'Deep Throat':
            print('登陆成功')
            break
        else:
            print('登陆失败')
            count += 1
            if count >= 3:
                break
    

    img

    第七题

    import os
    
    def ren(path):
        for file in os.listdir(path):
            if os.path.isfile(file):
                os.rename(path + '/' + file, path + '/' + file.upper())
            else:
                ren(path+'/'+file)
    
    
    inp = input()
    ren(inp)
    

    第八题

    import re
    
    file_name = input()
    save_name = input()
    with open('sensitive.txt', 'r') as f:
        words = [word for word in f.readlines()]
    with open(file_name, 'r') as f:
        data = f.read()
        for word in words:
            replacedStr = re.sub("word", "*"*len(word), data)
    with open(save_name, 'w') as f:
        f.write(replacedStr)
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月11日
  • 已采纳回答 11月11日
  • 创建了问题 11月9日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效