Day-9 Homework

import random

1.编写函数,求1 + 2 + 3 +…N的和

def n_sum(n: int):
    sum_n = 0
    while n != 0:
        sum_n += n
        n -= 1
    return sum_n

2. 编写一个函数,求多个数中的最大值

def n_max(*n: int):
    if not n:
        return None
    else:
        return max(n)

3. 编写一个函数,实现摇骰子的功能,打印N个骰子的点数和

def dice():
    point = random.randint(1, 6)
    return point
def sum_point(n: int):
    point_sum = 0
    for _ in range(n):
        point_sum += dice()
    return point_sum

4. 编写一个函数,交换指定字典的key和value。

def ex_kv(ex_dict: dict):
    keys_list = list(ex_dict.keys())
    values_list = list(ex_dict.values())
    dict_ex = {}
    for index in range(len(keys_list)):
        dict_ex[values_list[index]] = keys_list[index]
    ex_dict = dict_ex

5. 编写一个函数,提取指定字符串中所有的字母,然后拼接在一起产生一个新的字符串

def str_maker(old_str: str):
    new_str = ''
    for item in old_str:
        if 'A' <= item <= 'Z' or 'a' <= item <= 'z':
            new_str += item
    return new_str

6. 写一个函数,求多个数的平均值

def ave(*nums: int):
    return sum(nums) / len(nums)

7. 写一个函数,默认求10的阶乘,也可以求其他数字的阶乘

def factorial(num=10):
    result = 1
    for i in range(2, num+1):
        result *= i
    return result

注意:以下方法不能使用系统提供的方法和函数,全部自己写逻辑

8. 写一个自己的capitalize函数,能够将指定字符串的首字母变成大写字母

def capitalize_d(old_str: str):
    new_str = ''
    if 'a' <= old_str[0] <= 'z':
        new_str += chr(ord(old_str[0]) - 32)
    new_str += old_str[1:]
    return new_str

9. 写一个自己的endswith函数,判断一个字符串是否已指定的字符串结束

def endswith_d(end_str: str, comp_str: str):
    length = len(end_str)
    if end_str == comp_str[-length:]:
        return True
    else:
        return False

10. 写一个自己的isdigit函数,判断一个字符串是否是纯数字字符串

def isdigit_d(one_str: str):
    for item in one_str:
        if item > '9' or item < '0':
            return False
    else:
        return True

11. 写一个自己的upper函数,将一个字符串中所有的小写字母变成大写字母

def upper_d(old_str: str):
    new_str = ''
    for item in old_str:
        if 'a' <= item <= 'z':
            new_str += chr(ord(item) - 32)
        else:
            new_str += item
    return new_str

12. 写一个自己的rjust函数,创建一个字符串的长度是指定长度,原字符串在新字符串中右对齐,剩下的部分用指定的字符填充

def rjust_d(old_str: str, length: int, filler: str):
    new_str = ''
    for _ in range(length - len(old_str)):
        new_str += filler
    new_str += old_str
    return new_str

13. 写一个自己的index函数,统计指定列表中指定元素的所有下标,如果列表中没有指定元素返回 - 1

def index_d(list_d: list, item: any):
    index_list = []
    for index in range(len(list_d)):
        if list_d[index] == item:
            index_list.append(index)
            return index_list
        else:
            return -1

14. 写一个自己的len函数,统计指定序列中元素的个数

def len_d(sequence):
    count = 0
    for _ in sequence:
        count += 1
    return count

15. 写一个自己的max函数,获取指定序列中元素的最大值。如果序列是字典,取字典值的最大值

def max_d(*sequence):
    if len(sequence) == 1:
        if type(sequence[0]) != dict:
            max_value = sequence[0][0]
            if type(max_value) != int:
                for item in sequence[0][1:]:
                    if ord(item) > ord(max_value):
                        max_value = item
            else:
                for item in sequence[0][1:]:
                    if item > max_value:
                        max_value = item
        else:
            keys_list = list(sequence[0].keys())
            max_value = sequence[0][keys_list[0]]
            for key in keys_list:
                if sequence[0][key] > max_value:
                    max_value = sequence[0][key]
    else:
        max_value = sequence[0]
        for item in sequence:
            if item > max_value:
                max_value = item
    return max_value

16. 写一个函数实现自己in操作,判断指定序列中,指定的元素是否存在

def in_d(sequence, value):
    for item in sequence:
        if item == value:
            return True
    else:
        return False

17. 写一个自己的replace函数,将指定字符串中指定的旧字符串转换成指定的新字符串

def replace_d(one_str: str, old_str: str, new_str: str):
    length_new = len(new_str)
    length_old = len(old_str)
    good_str = ''
    index = 0
    for index in range(len(one_str) - length_new):
        if one_str[index: index + length_old] == old_str:
            good_str = one_str[:index] + new_str + one_str[index + length_old:]
            return replace_d(good_str, old_str, new_str)
    else:
        return one_str

18. 写四个函数,分别实现求两个列表的交集、并集、差集、对称差集的功能

def intersection(list_1: list, list_2: list):
    return set(list_1) | set(list_2)
def union(list_1: list, list_2: list):
    return set(list_1 + list_2)
def difference_set(list_1: list, list_2: list):
    return set(list_1) - set(list_2)
def symmetric_difference(list_1: list, list_2: list):
    return set(list_1) ^ set(list_2)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,258评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,335评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,225评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,126评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,140评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,098评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,018评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,857评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,298评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,518评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,400评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,993评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,638评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,661评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容

  • 编写一个函数,求1+2+3+...+N 编写一个函数,求多个数中的最大值 编写一个函数,实现摇骰子的功能,打印n个...
    W_00ee阅读 141评论 0 0
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,180评论 0 3
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,380评论 0 5
  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 3,887评论 0 0
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,231评论 0 4