python案例分析

找出10000以内能被5或6整除,但不能被两者同时整除的数(函数)

def find_numbers():
    for i in range(1, 10000):
        if (i % 5 == 0 or i % 6 == 0) and not (i % 5 == 0 and i % 6 == 0):
            print(i)

find_numbers()

写一个方法,计算列表所有偶数下标元素的和(注意返回值)

def sum_even_indexed_elements(lst):
    return sum(lst[i] for i in range(0, len(lst), 2))

# 测试
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(sum_even_indexed_elements(lst))  # 输出应该是 2 + 4 + 6 + 8 + 10 = 30

根据完整的路径从路径中分离文件路径、文件名及扩展名

def split_path(path):
    path_parts = path.split('/')
    file_name = path_parts[-1]
    extension = file_name.split('.')[-1]
    file_name = '.'.join(file_name.split('.')[:-1])
    return path_parts[:-1], file_name, extension

# 测试
path = "/home/user/Documents/file.txt"
print(split_path(path))  # 输出应该是 (['/home', 'user', 'Documents'], 'file', 'txt')

根据标点符号对字符串进行分行

import string

def split_string_by_punctuation(s):
    return s.split(string.punctuation)

# 测试
s = "hello, world! how are you?"
print(split_string_by_punctuation(s))  # 输出应该是 ['hello', 'world', 'how', 'are', 'you']

去掉字符串数组中每个字符串的空格

def remove_spaces(lst):
    return [s.strip() for s in lst]

# 测试
lst = ["hello world", "  test ", "python"]
print(remove_spaces(lst))  # 输出应该是 ['hello world', 'test', 'python']

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

def compare_favorite_games(game1, game2):
    if game1.lower() == game2.lower():
        return "你们俩喜欢相同的游戏"
    else:
        return "你们俩喜欢不相同的游戏"

# 测试
game1 = "lol"
game2 = "LOL"
print(compare_favorite_games(game1, game2))  # 输出应该是 "你们俩喜欢相同的游戏"

上题中两位同学输入 lol和 LOL代表同一游戏,怎么办?

def compare_favorite_games(game1, game2):
    if game1.lower() == game2.lower():
        return "你们俩喜欢相同的游戏"
    else:
        return "你们俩喜欢不相同的游戏"

# 测试
game1 = "lol"
game2 = "LOL"
print(compare_favorite_games(game1, game2))  # 输出应该是 "你们俩喜欢相同的游戏"

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

def convert_date_format(date_str):
    year, month, day = map(int, date_str.split('/'))
    return f"{year}年-{month}月-{day}日"

# 测试
date_str = "2008/08/08"
print(convert_date_format(date_str))  # 输出应该是 "

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

def sort_and_reverse_string(s):
    sorted_s = ''.join(sorted(s))
    return sorted_s[::-1]

# 测试
s = "cabed"
print(sort_and_reverse_string(s))  # 输出应该是 "edcba"

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

def reverse_sentence(s):
    words = s.split()
    reversed_sentence = ' '.join(reversed(words))
    return reversed_sentence

# 测试
s = "hello c java python"
print(reverse_sentence(s))  # 输出应该是 "python java c hello"

从请求地址中提取出用户名和域名

def extract_username_domain(url):
    parts = url.split('://')[1].split('/')[0].split('?')[0].split('@')
    username = parts[0]
    domain = parts[1]
    return username, domain

# 测试
url = "http://www.163.com?userName=admin&pwd=123456"
print(extract_username_domain(url))  # 输出应该是 ("admin", "www.163.com")

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

def process_book_titles(titles):
    processed_titles = []
    for title in titles:
        if len(title) > 10:
            processed_title = title[:8] + '...'
            processed_titles.append(processed_title)
        else:
            processed_titles.append(title)
    return processed_titles

# 测试
titles = ["The Great Gatsby", "Moby Dick", "The Adventures of Huckleberry Finn"]
print(process_book_titles(titles))  # 输出应该是 ["The Great G...", "Moby Dick", "The Adventures..."]

让用户输入一句话,找出所有"呵"的位置。

def find_position_of_char(s, char):
    positions = [i for i, c in enumerate(s) if c == char]
    return positions

# 测试
s = "老牛很邪恶,它哈了口冷气。"
print(find_position_of_char(s, "呵"))  # 输出应该是 [10]

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

def replace_evil_with_asterisk(s):
    if "邪恶" in s:
        return s.replace("邪恶", "**")
    return s

# 测试
s = "老牛很邪恶"
print(replace_evil_with_asterisk(s))  # 输出应该是 "老牛很**"

判断一个字符是否是回文字符串 "1234567654321" "上海自来水来自海上"

def is_palindrome(s):
    return s == s[::-1]

# 测试
s1 = "1234567654321"
s2 = "上海自来水来自海上"
print(is_palindrome(s1))  # 输出应该是 True
print(is_palindrome(s2))  # 输出应该是 False

过滤某个文件夹下的所有"xx.py"python文件

import os

def filter_python_files(folder_path):
    for filename in os.listdir(folder_path):
        if filename.endswith(".py"):
            print(filename)

# 测试
folder_path =

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值