day_10_homework

# 1. 编写函数,求1+2+3+…N的和
def sun1(n):
    x = 0
    for n in range(0,n+1):
        x += n
    return x


print(sun1(4))

# 2. 编写一个函数,求多个数中的最大值
def max1(*a):
    a2 = 0
    for a1 in a:
        if a2 < a1:
            a2 = a1
    return a2


print(max1(6,9,4))
# 3. 编写一个函数,实现摇骰子的功能,打印N个骰子的点数和
def sum2(*n):
    num2 = 0
    for num1 in n:
        num2+=num1
    return num2


print(sum2(1,3,4,5))
# 4. 编写一个函数,交换指定字典的key和value。
#        例如:dict1={'a':1, 'b':2, 'c':3}  -->  dict1={1:'a', 2:'b', 3:'c'}
def dic (dict1):

    for x in dict1.copy():
        a1 = dict1.copy()[x]
        x,a1 = a1 , x
        del dict1[a1]
        dict1[x] = a1
    return dict1

print(dic({'a':1, 'b':2, 'c':3}))


# 5. 编写一个函数,提取指定字符串中所有的字母,然后拼接在一起产生一个新的字符串
#        例如: 传入'12a&bc12d-+'   -->  'abcd'
def str1(n):
    str3 = ''
    for str2 in n:
        if 'a' <= str2 <= 'z':
            str3 += str2
    return str3


print(str1('12a&bc12d-+'))
# 1. 写一个函数,求多个数的平均值


def numbers(*n):
    num1 = 0
    for num in n:
        num1 += num
    return num1 / len(n)


print(numbers(1,7,3,1))

# 2. 写一个函数,默认求10的阶乘,也可以求其他数字的阶乘
def num5(n):
    number1 = 1
    for index in range(1,n+1):
        number1 *= index
    return number1


print(num5(6))
# =====================注意:以下方法不能使用系统提供的方法和函数,全部自己写逻辑==============

# 1. 写一个自己的capitalize函数,能够将指定字符串的首字母变成大写字母
#        例如: 'abc' -> 'Abc'   '12asd'  --> '12asd'
def cap1(n):
    n2 = (chr(ord(n[0]) - 32))
    n = n[1:]
    return n2 + n


print(cap1(n='lkhk'))

# 2. 写一个自己的endswith函数,判断一个字符串是否已指定的字符串结束
#        例如: 字符串1:'abc231ab' 字符串2:'ab' 函数结果为: True
#             字符串1:'abc231ab' 字符串2:'ab1' 函数结果为: False
def ab(a, b):
    for index1 in range(len(a)):
        if a[index1] == b[0]:
            if a[index1 + 1] == b[len(b) - 1]:
                return True
            else:
                return False


print(ab(a='abc231ab', b='ab'))
# 1. 写一个自己的isdigit函数,判断一个字符串是否是纯数字字符串
#        例如: '1234921'  结果: True
#              '23函数'   结果: False
#              'a2390'    结果: False
def num1(a):
    count = 0
    for num2 in a:
        if '0' <= num2 <= '9':
            count += 1
    if count == len(a):
        return True
    else:
        return False

print(num1(a='1237函数'))

# 1. 写一个自己的upper函数,将一个字符串中所有的小写字母变成大写字母
#        例如: 'abH23好rp1'   结果: 'ABH23好RP1'
def cap1(n):
    for x in n:
        if 'a'<=x <='z':
            n2 = (chr(ord(x) - 32))
            print(n2)



print(cap1(n='abhwe好rp1'))
# 2. 写一个自己的rjust函数,创建一个字符串的长度是指定长度,原字符串在新字符串中右对齐,剩下的部分用指定的字符填充
#        例如: 原字符:'abc'  宽度: 7  字符:'^'    结果: '^^^^abc'
#             原字符:'你好吗'  宽度: 5  字符:'0'    结果: '00你好吗'

# 3. 写一个自己的index函数,统计指定列表中指定元素的所有下标,如果列表中没有指定元素返回-1
#        例如: 列表: [1, 2, 45, 'abc', 1, '你好', 1, 0]  元素: 1   结果: 0,4,6
#             列表: ['赵云', '郭嘉', '诸葛亮', '曹操', '赵云', '孙权']  元素: '赵云'   结果: 0,4
#             列表: ['赵云', '郭嘉', '诸葛亮', '曹操', '赵云', '孙权']  元素: '关羽'   结果: -1
def index1(a,b):
    c = []
    n2=0   #n是否全部都遍历
    n = 0 #n求下标
    for n1 in a:
        n += 1
        if n1 == b:
            c.append(n-1)
        elif n1 != b:
            n2 += 1
    if n2 == n:
        return -1
    else:
        return c


print(index1(a=[1, 2, 45, 'abc', 1, '你好', 1, 0],b=3))
# 1. 写一个自己的len函数,统计指定序列中元素的个数
#        例如: 序列:[1, 3, 5, 6]    结果: 4
#             序列:(1, 34, 'a', 45, 'bbb')  结果: 5
#             序列:'hello w'    结果: 7
def lens(a):
    count6 = 0   #统计个数用
    for count5 in a:    #循环遍历出每个元素,
        count6+=1       #每循环一次计数
    return count6

print(lens(a='hello w'))
# 1. 写一个自己的max函数,获取指定序列中元素的最大值。如果序列是字典,取字典值的最大值
#        例如: 序列:[-7, -12, -1, -9]    结果: -1
#             序列:'abcdpzasdz'    结果: 'z'
#             序列:{'小明':90, '张三': 76, '路飞':30, '小花': 98}   结果: 98
def max1(a):
    if type(a[0]) == int:
        max2 = -10      #这是最大值    没完成 序列
        for n1 in a:
            if max2 < n1:
                max2 = n1

        return max2

    elif type(a[0])==str:
        max2 = ''  #这后是最大值
        for n1 in a:
            if max2 < n1:
                max2 = n1
        return max2
print(max1(a='abcdpzasdz'))
# 1. 写一个函数实现自己in操作,判断指定序列中,指定的元素是否存在
#        例如: 序列: (12, 90, 'abc')   元素: '90'     结果: False
#             序列: [12, 90, 'abc']   元素: 90     结果: True
def in1(a=(12,90,'abc'),b=123):
    count1 = 0
    for x in a:
        if x == b:
            return True
        if x != b:
            count1+=1
        if len(a)==count1:
            return False



print(in1())
# 1. 写一个自己的replace函数,将指定字符串中指定的旧字符串转换成指定的新字符串
# 例如: 原字符串: 'how are you? and you?'   旧字符串: 'you'  新字符串:'me'  结果: 'how are me? and me?'
# a = 'how are you? and you?'
# index11=0
# a2=''
# for index1 in range(len(a)):
#     if a[index1] == 'y':
#         if a[index1+1]=='o':
#             if a[index1+2]=='u':
#                 print(index11)
#                 a2=a[0:8]+'me'+a[11:17]+'me'+a[20:]
# print(a2)

b = 'ab'
print(b[(len(b)-1)])
# 1. 写四个函数,分别实现求两个列表的交集、并集、差集、补集的功能
# 交集
def inter(set1, set2):
    set3 = set()
    for set11 in set1:
        for set22 in set2:
            if set11 == set22:
                set3.add(set11)
    return set3


print(inter(set1={1, 3, 5, 6}, set2={1, 2, 5, 6}))
# 补集
def inter(set1,set2):
    set3 = set()
    for set11 in set1:
        for set22 in set2:
            if set11 != set22:
                set3.add(set11)
    return set3


print(inter(set1={1,3,5,6},set2={1,2,5,6}))
# 并集
def inter(set1,set2):
    for set11 in set1:
        set2.add(set11)
    return set2


print(inter(set1={1,3,5,6},set2={1,2,5,6}))
# 差集
def inter(set1, set2):
    set3 = set()
    for set11 in set1:
        for set22 in set2:
            if set11 == set22:
                set3.add(set11)
    for set33 in set3:
        set1.remove(set33)
    return set1

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