必做题

必做题

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

1编写函数,求1+2+3+…N的和
def count(n):
    return sum(range(1,n+1))

res = count(100)
print(res)
第二个方法
def qf_sum(n):
    sum1=0
    for x in range(1,n+1):
        sum1+=x
    return sum1
print(qf_sum(124364576))

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

def max_nums(lists):
    """
    :return:
    """
    for x in range(0, len(lists) - 1):
        for y in range(0, len(lists) - 1 - x):
            if lists[y] > lists[y + 1]:
                a = lists[y]
                lists[y] = lists[y + 1]
                lists[y + 1] = a
                return lists
print(len(max_nums(lists=[1,2,6,9,8,7,3,5])))

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

import random
def sums(n):
    i = []
    for x in range(n):
        a = random.randint(1, 6)
        i.append(a)
        sum(range(1, n + 1))
        return sum(range(1,n+1))
res = sums(10)
print(res)
第二种方法
def play_dice(n):
    sums=0
    for x in range(n):
        sums+=random.randint(1,6)
    return sums
print(play_dice(10))

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

# 4,
# dict1= {'a':1,'b':2,'c':3}

def New_dict(dict):
    """

    :param dict:
    :return:
    """
    # for x in dict.keys():
    #     value = dict.pop(x)
    #     dict[value]=x
    # return None

    #第二个
    res={}
    for x,y in dict.items():
        res[y]=x
    return res

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

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

例如: 传入'12a&bc12d-+'   -->  'abcd'  
    
def zifu(str):
    newzifu = ''
    for x in str:
        if 'a' <= x <= 'z' or 'A' <= x <= 'Z':
            newzifu += x
    return newzifu

print(zifu('12a&bc12d-+'))
###第二遍
def new_str(str):
    str1=''
    for x in str:
        if 'a'<=x<='z' or 'A'<=x<='Z':
            str1+=x
    return str1
print(new_str('asf231wrqf'))

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

def pinjun(*lists):   #  * 不定长的多个数,  lists:list  指定返回列表
    lists=sum(lists) / len(lists)
    return lists
print(pinjun(12,58,69,32,54,56))

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

def jiecheng(m):
    x = 1
    for res in range(1, m+1):
        x *= res
    return x

print(jiecheng(1))
==注意:以下方法不能使用系统提供的相应的方法和函数,全部自己写

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

例如: 'abc' -> 'Abc'   '12asd'  --> '12asd'
    
a=input('请输入一个字符串')
if 'a'<=a[0]<='z':
    print(a.upper())
else:
    print(a)

def my_capitalize(a):
    q=''
    if 'a' <= a[0] <= 'z':
        q=a[0].upper()+a[1:]
    else:
        q=a
    return q          #返回我需要获得的东西
print(my_capitalize(input('请输入一个字符串')))   函数名(我需要放进去的变量)

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

例如: 字符串1:'abc231ab' 字符串2:'ab' 函数结果为: True
     字符串1:'abc231ab' 字符串2:'ab1' 函数结果为: False
                
                
例如: 字符串1:'abc231ab' 字符串2:'ab' 函数结果为: True
     字符串1:'abc231ab' 字符串2:'ab1' 函数结果为: False
str1=input('第一个字符')
str2=input('第二个字符')
if str1[-len(str2):]!=str2:
    print(False)
else:
    print(True)

def endswith(str1,str2):
    if str1[-len(str2):] != str2:
        a=False
    else:
        a=True
    return a
print(endswith('abc231ab','ab'))
##第二种方法
def endswith(str1,str2):
    if str1[-len(str2):]==str2:
        return True
    else:
        return False
print(endswith('abc231ab','ab'))

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

例如: '1234921'  结果: True
      '23函数'   结果: False
      'a2390'    结果: False
        
a=input('请输入一个字符串')
for x in a:
    if not  '0'<=x<='9':
        print(False)
        break
else:
    print(True)


def isdigit_my(a):
    for x in a:
        if not '0' <= x <= '9':
            y=False
            break
    else:
        y=True
    return y
print(isdigit_my('32123'))        

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

例如: 'abH23好rp1'   结果: 'ABH23好RP1'  
        
def upper_my(a):
    xiaoxie=''
    for x in a:
        if 'a'<=x<='z':
            x=ord(x)-32
            x=chr(x)
            xiaoxie+=x
        else:
            xiaoxie+=x
    return xiaoxie
print(upper_my('aa#$d11A'))        

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

例如: 原字符:'abc'  宽度: 7  字符:'^'    结果: '^^^^abc'
     原字符:'你好吗'  宽度: 5  字符:'0'    结果: '00你好吗'
                    
def rjust_my(str1,k,str2):
    str3=str2*(k-len(str1))+str1
    return str3
print(rjust_my('abc',7,'^'))                    

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

例如: 列表: [1, 2, 45, 'abc', 1, '你好', 1, 0]  元素: 1   结果: 0,4,6  
     列表: ['赵云', '郭嘉', '诸葛亮', '曹操', '赵云', '孙权']  元素: '赵云'   结果: 0,4
     列表: ['赵云', '郭嘉', '诸葛亮', '曹操', '赵云', '孙权']  元素: '关羽'   结果: -1         
                
def my_index(lists,obj):
    indexs=[]
    for x in range(len(lists)):
        if lists[x]==obj:
            indexs.append(x)
    if indexs:
        return indexs
    return -1

print(my_index(['赵云', '郭嘉', '诸葛亮', '曹操', '赵云', '孙权'],'赵云'))

            

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

例如: 序列:[1, 3, 5, 6]    结果: 4
     序列:(1, 34, 'a', 45, 'bbb')  结果: 5  
     序列:'hello w'    结果: 7

def qf_len(seq):
    """

    :param seq:
    :return:
    """
    cont=0
    for x in seq:
        cont+=1
    return cont

print(qf_len(['赵云', '郭嘉', '诸葛亮', '曹操', '赵云', '孙权']))  

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

例如: 原字符串: 'how are you? and you?'   旧字符串: 'you'  新字符串:'me'  结果: 'how are me? and me?'
                    
 # def qf_replace(str1,old,new):
#     """
#
#     :param str1:
#     :param old:
#     :param new:
#     :return:
#     """
#     res=str1.split(old)
#     return new.join(res)
# print(qf_replace( 'how are you? and you?','you','me'))                   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值