day9-homework

6959 ワード

  • は関数を編纂して、1+2+3+...Nのと
  • を求めます
      def total(num: int):
        sum1 = 0
        for x in range(1, num+1):
            sum1 += x
        return sum1
    
  • は1つの関数を編纂して、複数の数の中の最大値の
  • を求めます
    def max_num(*nums: int):
        if not nums:
            return 0
        else:
            max1 = nums[0]
            for num in nums:
                if max1 < num:
                    max1 = num
            return max1
    
  • は1つの関数を編纂して、サイコロを振る機能を実現して、N個のサイコロの点数と
  • を印刷します
    import random
    
    
    def dice(n: int):
        sum1 = 0
        for _ in range(n):
            sum1 += random.randint(1, 6)
        return sum1
    
  • は、指定された辞書のkeyとvalueを交換する関数を記述する.例えば、dict 1={'a':1,'b':2,'c':3}-->dict 1={1:'a',2:'b',3:'c'}
  • #        
    def exchange(dict1: dict):
        dict2 = {}
        for key in dict1:
            dict2[dict1[key]] = key
        return dict2
    
    #           
    def exchange(dict1: dict):
        for key in dict1.copy():
            dict1[dic.pop(key)] = key
        return dict1
    
  • 関数を記述し、指定した文字列のすべてのアルファベットを抽出し、つなぎ合わせて新しい文字列を生成します.たとえば、「12 a&bc 12 d-+」-->「abcd」
  • def gain_letter(str1: str):
        new_str = ''
        for char in str1:
            if 'a' <= char <= 'z' or 'A' <= char <= 'Z':
                new_str += char
        return new_str
    
  • は1つの関数を書いて、複数の数の平均値
  • を求めます
    def average(*nums: int):
        sum1 = 0
        length = len(nums)
        if not length:
            return None
        else:
            for num in nums:
                sum1 += num
        return sum1 / length
    
  • は1つの関数を書いて、デフォルトは10の階乗を求めて、その他の数字の階乗
  • を求めることができます
    def factorial(num=10):
        product = 1
        if num >= 0:
            for x in range(num, 1, -1):
                product *= x
            return product
        else:
            return '      !'
    

    =======================================================
  • 独自のcapitalize関数を書き、指定した文字列の頭文字を大文字にすることができます.たとえば、「abc」->「Abc」>「12 asd」-->「12 asd」
  • def capitalize_iwsyt(str1: str):
        if 'a' <= str1[0] <= 'z':
            return chr(ord(str1[0])-32)+str1[1:]
        return str1
    
  • 独自のendswith関数を書き、文字列が指定された文字列で終わるかどうかを判断します.たとえば、文字列1:'abc 231 ab'文字列2:'ab'関数の結果は、True文字列1:'abc 231 ab'文字列2:'ab 1'関数の結果は、False
  • です.
    def endswith_iwsyt(str1: str, str2: str):
        length1 = len(str2)
        if str1[-length1:] == str2:
            return True
        return False
    
  • 独自のisdigit関数を書き、文字列が純粋な数値文字列であるかどうかを判断します.たとえば、'1234921'結果:True'23関数'結果:False'a 2390'結果:False
  • def isdigit_iwsyt(str1: str):
        for char in str1:
            if not '0' <= char <= '9':
                return False
        return True
    
  • 自分のupper関数を書いて、1つの文字列の中のすべての小文字を大文字にします例えば:'abH 23好rp 1'結果:'ABH 23好RP 1'
  • def upper_iwsyt(str1: str):
        new_str = ''
        for char in str1:
            if 'a' <= char <= 'z':
                new_str += chr(ord(char)-32)
            else:
                new_str += char
        return new_str
    
  • 自分のrjust関数を書いて、1つの文字列の長さを作成するのは指定の長さで、元の文字列は新しい文字列の中で右揃えで、残りの部分は指定の文字で埋めます例えば:元の文字:'abc'幅:7文字:'^'結果:'^^^abc'元の文字:'こんにちは'幅:5文字:'0'結果:'00お元気ですか'
  • def rjust_iwsyt(str1: str, num: int, str2: str):
        length = len(str1)
        new_str = ''
        if length == num:
            return str1
        elif length > num:
            return '    !'
        else:
            return (num-length)*str2 + str1
    
  • 独自のindex関数を書き、指定リストで指定した要素のすべての下付き記号を統計します.リストに指定されていない要素が-1を返します.たとえば、リスト:[1,2,45,'abc',1,'こんにちは',1,0]要素:1結果:0,4,6リスト:['趙雲','郭嘉','諸葛亮','曹操','趙雲','孫権']要素:'趙雲'結果:0,4列表:['趙雲','郭嘉','諸葛亮','曹操','趙雲','孫権']要素:'関羽'結果:-1
  • def index_iwsyt(list1: list, target):
        index_list = []
        result = ','
        for index in range(len(list1)):
            if list1[index] == target:
                index_list.append(str(index))
        if index_list:
            return result.join(index_list)
        return -1
    
  • 独自のlen関数を書き、指定したシーケンス内の要素の個数を統計します.たとえば、シーケンス:[1,3,5,6]結果:4シーケンス:(1,34,'a',45,'bbb')結果:5シーケンス:'hello w'結果:7
  • def len_iwsyt(seq):
        count = 0
        for _ in seq:
            count += 1
        return count
    
  • 独自のmax関数を書き、指定したシーケンスの要素の最大値を取得します.シーケンスが辞書の場合、辞書の値の最大値を取ります.たとえば、シーケンス:[-7,-12,-1,-9]結果:-1シーケンス:'abcdpzasdz'結果:'z'シーケンス:{'明ちゃん':90,'張三':76,'ルフィ':30,'小花':98}結果:98
  • def max_iwsyt(seq):
        if type(seq) == dict:
            value_list = list(seq.values())
            max_value = value_list[0]
            for value in value_list:
                if max_value < value:
                    max_value = value
            return max_value
        else:
            max_value = seq[0]
            for value in seq:
                if max_value < value:
                    max_value = value
            return max_value
    
  • 関数を書いて自分のin操作を実現し、指定したシーケンスの中で、指定した要素が存在するかどうかを判断する.例えば、シーケンス:(12,90,'abc')要素:'90'結果:Falseシーケンス:[12,90,'abc']要素:90結果:True
  • def in_iwsyt(seq, target):
        for element in seq:
            if element == target:
                return True
        return False
    
  • 独自のreplace関数を書き、指定した文字列で指定した古い文字列を指定した新しい文字列に変換します.たとえば、元の文字列:'how are you?and you?' 古い文字列:'you'新しい文字列:'me'結果:'how are me?and me?'
  • def replace_iwsyt(str1: str, old_str: str, new_str: str):
        list1 = str1.split(old_str)
        return new_str.join(list1)
    
  • は4つの関数を書き、それぞれ2つのリストの交差、並列、差分、補完を求める機能
  • を実現する.
    #     (                   ,     )
    def intersection(list1: list, list2: list):
        result_list = []
        for element1 in list1:
            for element2 in list2:
                if element1 == element2:
                    if element1 not in result_list:
                        result_list.append(element1)
        for element in result_list:
            while True:
                if element in list1:
                    list1.remove(element)
                    list2.remove(element)
                else:
                    break
        return list1+list2+result_list
    
    #     
    def set_theory(list1: list, list2):
        result_list = []
        for element1 in list1:
            for element2 in list2:
                if element1 == element2:
                    result_list.append(element1)
                        if element1 not in result_list:
                            result_list.append(element1)
        if len(result_list):
            return result_list
        return None
    #   
    def difference_set(list1: list, list2: list):
        pass
    #   
    def complement(list1: list, list2: list):
        pass