python练习杂糅⑥——核心语法与基本库的应用

  1. 根据完整的路径从路径中分离文件路径、文件名及扩展名
    代码呈现:

    import osdef separate_path(full_path):file_path, filename = os.path.split(full_path)basename, extension = os.path.splitext(filename)return file_path, basename, extensionfull_path = "C:/Users/86189/PycharmProjects/作业集合/文件路径的分离.py"
    print(separate_path(full_path))
    

    结果呈现:

  2. 根据标点符号对字符串进行分行;
    代码呈现:

    import redef split_by_punctuation(a):sentences = re.split(r'[。!?]', a)return [sentence for sentence in sentences if sentence]a = "第一句话。第二句话!第三句话?"
    print("\n".join(split_by_punctuation(a)))
    

    结果呈现:

  3. 去掉字符串数组中每个字符串的空格;
    代码呈现:

    def remove_spaces(strings):return [s.replace(" ", "") for s in strings]strings = ["hello python", " do you love python     ? "]
    print(remove_spaces(strings))
    

    结果呈现:

  4. 两个学员输入各自最喜欢的游戏名称,判断是否一致,如果相等,则输出你们俩喜欢相同的游戏;如果不相同,则输 出你们俩喜欢不相同的游戏。

  5. 上题中两位同学输入 lol和 LOL代表同一游戏,怎么办?
    代码呈现(与4):

    def check_favorite_game(game_1, game_2):if game_1.lower() == game_2.lower():return "游戏爱好相同!"else:return "游戏爱好不同!"game_1 = input("第一个同学喜欢的游戏: ")
    game_2 = input("第二个同学喜欢的游戏: ")
    print(check_favorite_game(game_1, game_2))
    

    结果呈现(与4):

  6. 让用户输入一个日期格式如“2008/08/08”,将输入的日期格式转换为“2008年-8月-8日”。
    代码呈现:

    def date(date_str):year, month, day = date_str.split('/')return "{}年-{}月-{}日".format(year, int(month), int(day))date_str = input('请输入XXXX/XX/XX的日期格式:')
    print(date(date_str))
    

    结果呈现:

  7. 接收用户输入的字符串,将其中的字符进行排序(升序),并以逆序的顺序输出,“cabed”→"abcde"→“edcba”
    代码呈现:

    def string(s):return "".join(sorted(s)[::-1])s = input('字母输入(如:cbaed:)')
    print(string(s))
    

    结果呈现:

  8. 接收用户输入的一句英文,将其中的单词以反序输 出,“hello c java python”→“python java c hello”。
    代码呈现:

    def reverse_words(sentence):words = sentence.split()return " ".join(words[::-1])sentence = input()
    print(reverse_words(sentence))
    

    结果呈现:

  9. 从请求地址中提取出用户名和域名 http://www.163.com?userName=admin&pwd=123456
    【待补充···】

  10. 有个字符串数组,存储了10个书名,书名有长有短,现 在将他们统一处理,若书名长度大于10,则截取长度8的 子串并且最后添加“...”,加一个竖线后输出作者的名字。
    代码呈现:

    def format_book_titles(book_titles_with_authors):formatted_books = []for title, author in book_titles_with_authors:if len(title) > 10:title = title[:8] + "..."formatted_book = f"{title} | {author}"formatted_books.append(formatted_book)return formatted_booksbooks_with_authors = [("追风筝的人", "卡勒德·胡赛尼"),("解忧杂货店", "东野圭吾"),("百年孤独", "加西亚·马尔克斯"),("活着", "余华"),("三体:死神永生", "刘慈欣"),("围城", "钱钟书"),("挪威的森林", "村上春树"),("红楼梦", "曹雪芹"),("简爱", "夏洛蒂·勃朗特 "),("其实这是一本书名很长的书", "佚名")
    ]formatted_books = format_book_titles(books_with_authors)
    for book in formatted_books:print(book)
    

    结果呈现:

  11. 让用户输入一句话,找出所有"呵"的位置。
    代码呈现:

    def find_positions(sentence, target="呵"):return [pos for pos, char in enumerate(sentence) if char == target]user_input = input("请输入一句话:")
    positions = find_positions(user_input, "呵")
    print("‘呵’的位置:", positions)
    

    结果呈现:

  12. 让用户输入一句话,判断这句话中有没有邪恶,如果有邪恶就替换成这种形式然后输出,如:“老牛很邪恶”,输出后变 成”老牛很**”;
    代码呈现:

    def censor_evil(sentence, word="邪恶"):if word in sentence:return sentence.replace(word, '*' * len(word))else:return sentenceuser_input = input("请输入一句话:")
    censored_sentence = censor_evil(user_input)
    print("处理后的句子为:", censored_sentence)
    

    结果呈现:

  13. 判断一个字符是否是回文字符串 "1234567654321" "上海自来水来自海上"
    代码呈现:

    def is_palindrome(s):s = ''.join(c for c in s if c.isalnum()).lower()return s == s[::-1]print(is_palindrome(input()))

    结果呈现:

  14. 过滤某个文件夹下的所有"xx.py"python文件
    代码呈现:

    import osfolder_path = 'C:/Users/86189/PycharmProjects/作业集合'
    python_files = [f for f in os.listdir(folder_path) if f.endswith(".py")]print('Python文件列表:', python_files)
    

    结果呈现:

   15.用户管理系统的,密码加密

代码呈现:

import hashlibdef create_user(username, password):encoded_password = password.encode('utf-8')hashed_password = hashlib.md5(encoded_password)password_md5 = hashed_password.hexdigest()return {'username': username, 'password': password_md5}def add_user(users, user):users.append(user)def find_user_by_username(users, username):for user in users:if user['username'] == username:return userreturn Nonedef main():users = []while True:print("1. 登录")print("2. 注册")print("3. 退出")choice = input("请选择操作:")if choice == '1':username = input("请输入用户名:")password = input("请输入密码:")encoded_password = password.encode('utf-8')hashed_password = hashlib.md5(encoded_password)password_md5 = hashed_password.hexdigest()user = find_user_by_username(users, username)if user and user['password'] == password_md5:print("登录成功!")else:print("用户名或密码错误!")elif choice == '2':username = input("请输入用户名:")password = input("请输入密码:")user = create_user(username, password)add_user(users, user)print("注册成功!")elif choice == '3':print("再见!")breakelse:print("无效的选择,请重新输入。")if __name__ == "__main__":main()

结果呈现:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/616751.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 硬链接和软链接怎么区分使用?

一、什么是硬链接和软链接 硬链接 在Linux操作系统中,硬链接相当于存储在硬盘驱动器中的文件,它实际上引用或指向硬盘驱动器上的某个点。硬链接是原始文件的镜像副本。 硬链接与软链接的区别在于,删除原始文件不会影响硬链接,但…

基于SpringBoot实现的在线拍卖系统

系统开发环境 编程语言:Java数据库:MySQL容器:Tomcat工具:IDEA/Ecilpse、Navicat、Maven 系统实现 管理员功能模块 首页 修改密码 用户管理 商品类型管理 拍卖商品 竞拍公告 轮播图 历史竞拍管理 竞拍订单管理 留言板管理 用户…

主干网络篇 | YOLOv8更换主干网络之VanillaNet | 华为方舟实验室提出全新轻量级骨干架构

前言:Hello大家好,我是小哥谈。华为方舟实验室所提出的VanillaNet架构克服了固有复杂性的挑战,使其成为资源受限环境的理想选择。其易于理解和高度简化的架构为高效部署开辟了新的可能性。广泛的实验表明,VanillaNet提供的性能与著名的深度神经网络和vision transformers相…

【Linux】虚拟化技术docker搭建SuitoCRM系统及汉化

CRM系统 CRM(Customer Relationship Management,客户关系管理)系统是一种用于管理和优化企业与客户关系的软件工具。在商业竞争激烈的现代社会中,CRM系统已成为许多企业提高销售、增强客户满意度和实现持续增长的重要工具。 搭建…

【排序 贪心】3107. 使数组中位数等于 K 的最少操作数

算法可以发掘本质,如: 一,若干师傅和徒弟互有好感,有好感的师徒可以结对学习。师傅和徒弟都只能参加一个对子。如何让对子最多。 二,有无限多1X2和2X1的骨牌,某个棋盘若干格子坏了,如何在没有坏…

【Git教程】(九)版本标签 —— 创建、查看标签,标签的散列值,将标签添加到日志输出中,判断标签是否包含特定的提交 ~

Git教程 版本标签(tag) 1️⃣ 创建标签2️⃣ 查看存在的标签3️⃣ 标签的散列值4️⃣ 将标签添加到日志输出中5️⃣ 判断tag是否包含特定的提交🌾 总结 大多数项目都是用 1.7.3.2和 “ gingerbread” 这样的数字或名称来标识软件版本的。在 …

CS学习(九)—— 分支实现

if-else 18&#xff1a;若y<x&#xff0c;跳转L2 22&#xff1a;否则&#xff0c;跳转L3。 goto 可见&#xff0c;与if-else类似。但是用goto很low。 条件表达式 又是与if类似&#xff0c;那有没有区别&#xff1f; 当然&#xff0c;条件表达式两个式子都会计算&…

[C++][算法基础]Dijkstra求最短路径I(稠密图)

给定一个 n 个点 m 条边的有向图&#xff0c;图中可能存在重边和自环&#xff0c;所有边权均为正值。 请你求出 1 号点到 n 号点的最短距离&#xff0c;如果无法从 1 号点走到 n 号点&#xff0c;则输出 −1。 输入格式 第一行包含整数 n 和 m。 接下来 m 行每行包含三个整…

Linux的学习之路:9、冯诺依曼与进程(1)

摘要 本章主要是说一下冯诺依曼体系结构和进程的一部分东西。 目录 摘要 一、冯诺依曼体系结构 二、操作系统的概念 三、设计OS的目的 四、管理 五、进程的基本概念 六、PCB 七、在Linux环境下查看进程 八、使用代码创建进程 九、思维导图 一、冯诺依曼体系结构 如…

【新版】系统架构设计师 - 知识点 - 面向对象开发方法

个人总结&#xff0c;仅供参考&#xff0c;欢迎加好友一起讨论 文章目录 架构 - 知识点 - 面向对象开发方法面向对象开发方法面向对象的分析需求模型分析模型 面向对象的设计 用例模型关系、UML事务关系、类的关系 架构 - 知识点 - 面向对象开发方法 面向对象开发方法 分析阶段…

嵌入式实时操作系统的调度机制与优化

大家好&#xff0c;今天给大家介绍嵌入式实时操作系统的调度机制与优化&#xff0c;文章末尾附有分享大家一个资料包&#xff0c;差不多150多G。里面学习内容、面经、项目都比较新也比较全&#xff01;可进群免费领取。 嵌入式实时操作系统的调度机制与优化 一、引言 嵌入式实…

SpringBoot3整合Mybatis plus

Java版本&#xff1a;17 Spring Boot版本&#xff1a;3.1.10 Mybatis plus版本&#xff1a;3.5.5 源码地址&#xff1a;Gitee仓库 01 创建我们的项目工程 首先&#xff0c;我们创建一个maven工程spring-boot3-demo&#xff0c;pom文件配置如下。 这里我们将spring-boot-start…