Day9

  1. 編寫函數(shù)正什,求1+2+3+…N的和
def sum(n: int) -> int:
    if not isinstance(n, int) or n < 1:
        return 0

    _sum = 0
    for each in range(1, n + 1):
        _sum += each

    return _sum
  1. 編寫一個函數(shù)蝌焚,求多個數(shù)中的最大值
def max_num(*args: int) -> int:
    return max(args)
  1. 編寫一個函數(shù)裹唆,實現(xiàn)搖骰子的功能,打印N個骰子的點數(shù)和
import random


def sieve() -> int:
    return random.randint(1, 6)


def shake(n: int) -> int:
    if not isinstance(n, int) or n < 1:
        return 0

    return sum([sieve() for _ in range(n)])
  1. 編寫一個函數(shù)只洒,交換指定字典的key和value许帐。
例如:dict1={'a':1, 'b':2, 'c':3}  -->  dict1={1:'a', 2:'b', 3:'c'}  
def exchange(**kwargs) -> dict:
    return dict([[val, key] for key, val in kwargs.items()])
  1. 編寫一個函數(shù),提取指定字符串中所有的字母毕谴,然后拼接在一起產(chǎn)生一個新的字符串

    例如: 傳入'12a&bc12d-+'   -->  'abcd'  
    
def is_word(ch: str = None) -> bool:
    return True if 65 <= ord(ch) <=90 or 97 <= ord(ch) <= 122 else False


def extract_word(string: str) -> str:
    if not isinstance(string, str):
        return None

    return ''.join([each for each in string if is_word(each)])
  1. 寫一個函數(shù)成畦,求多個數(shù)的平均值
def avg(*args: int) -> int:
    return sum(args) / len(args)
  1. 寫一個函數(shù),默認求10的階乘析珊,也可以求其他數(shù)字的階乘
def factorial(num: int = 10) -> int:
    if not isinstance(num, int) or num < 1:
        return 0
    
    res = 1

    for each in range(2, num+1):
        res *= each

    return res
=====================注意:以下方法不能使用系統(tǒng)提供的方法和函數(shù)羡鸥,全部自己寫邏輯==============
  1. 寫一個自己的capitalize函數(shù),能夠將指定字符串的首字母變成大寫字母

    例如: 'abc' -> 'Abc'   '12asd'  --> '12asd'
    
def capitalize(string: str) -> str:
    if not isinstance(string, str):
        return None

    if 97 <= ord(string[0]) <= 122:
        asc = ord(string[0]) - 32
        string = chr(asc) + string[1::]

    return string
  1. 寫一個自己的endswith函數(shù)忠寻,判斷一個字符串是否已指定的字符串結束

    例如: 字符串1:'abc231ab' 字符串2:'ab' 函數(shù)結果為: True
         字符串1:'abc231ab' 字符串2:'ab1' 函數(shù)結果為: False
    
def endswith(string: str, suffix: str) ->bool:
    if not isinstance(suffix, str) or not isinstance(string, str):
        return False

    size = len(suffix)

    for ch1, ch2 in zip(string[:size:-1], suffix[::-1]):
        if ch1 != ch2:
            return False

    return True
  1. 寫一個自己的isdigit函數(shù)惧浴,判斷一個字符串是否是純數(shù)字字符串
例如: '1234921'  結果: True
      '23函數(shù)'   結果: False
      'a2390'    結果: False
def isdigit(string: str) -> bool:
    if not isinstance(string, str):
        return False

    for each in string:
        if not (48 <= ord(each) <= 57):
            return False

    return True
  1. 寫一個自己的upper函數(shù),將一個字符串中所有的小寫字母變成大寫字母

    例如: 'abH23好rp1'   結果: 'ABH23好RP1'  
    
def upper(username: str) -> str:
    if not isinstance(username, str) and len(username) > 0:
        return None

    new_str = []
    for each in username:
        asc = ord(each)
        if 97 <= asc <= 122:
            asc -= 32
        new_str.append(chr(asc))

    return ''.join(new_str)
  1. 寫一個自己的rjust函數(shù)奕剃,創(chuàng)建一個字符串的長度是指定長度衷旅,原字符串在新字符串中右對齊捐腿,剩下的部分用指定的字符填充
例如: 原字符:'abc'  寬度: 7  字符:'^'    結果: '^^^^abc'
     原字符:'你好嗎'  寬度: 5  字符:'0'    結果: '00你好嗎'
def rjust(string: str, width: int, fillchar: str) -> str:
    if not isinstance(fillchar, str) or not isinstance(string, str) or len(string) >= width:
        return string

    fill_width = width - len(string)

    return fillchar * fill_width + string
  1. 寫一個自己的index函數(shù),統(tǒng)計指定列表中指定元素的所有下標柿顶,如果列表中沒有指定元素返回-1

    例如: 列表: [1, 2, 45, 'abc', 1, '你好', 1, 0]  元素: 1   結果: 0,4,6  
         列表: ['趙云', '郭嘉', '諸葛亮', '曹操', '趙云', '孫權']  元素: '趙云'   結果: 0,4
         列表: ['趙云', '郭嘉', '諸葛亮', '曹操', '趙云', '孫權']  元素: '關羽'   結果: -1         
    
def index(list1: list, obj) -> int:
    if not isinstance(list1, list) or not obj:
        raise TypeError

    for i, char in enumerate(list1):
        if char == obj:
            return i

    raise ValueError
  1. 寫一個自己的len函數(shù)茄袖,統(tǒng)計指定序列中元素的個數(shù)

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


def len(obj) -> int:
    if not isinstance(obj, Iterable):
        raise TypeError('參數(shù)類型錯誤')

    size = 0

    for _ in obj:
        size += 1

    return size
  1. 寫一個自己的max函數(shù),獲取指定序列中元素的最大值嘁锯。如果序列是字典宪祥,取字典值的最大值

    例如: 序列:[-7, -12, -1, -9]    結果: -1   
         序列:'abcdpzasdz'    結果: 'z'  
         序列:{'小明':90, '張三': 76, '路飛':30, '小花': 98}   結果: 98
    
  1. 寫一個函數(shù)實現(xiàn)自己in操作,判斷指定序列中家乘,指定的元素是否存在

    例如: 序列: (12, 90, 'abc')   元素: '90'     結果: False
         序列: [12, 90, 'abc']   元素: 90     結果: True     
    
  1. 寫一個自己的replace函數(shù)蝗羊,將指定字符串中指定的舊字符串轉換成指定的新字符串

    例如: 原字符串: 'how are you? and you?'   舊字符串: 'you'  新字符串:'me'  結果: 'how are me? and me?'
    
  1. 寫四個函數(shù),分別實現(xiàn)求兩個列表的交集仁锯、并集耀找、差集、補集的功能
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末业崖,一起剝皮案震驚了整個濱河市野芒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌双炕,老刑警劉巖狞悲,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異雄家,居然都是意外死亡效诅,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門趟济,熙熙樓的掌柜王于貴愁眉苦臉地迎上來乱投,“玉大人,你說我怎么就攤上這事顷编∑蒽牛” “怎么了?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵媳纬,是天一觀的道長双肤。 經(jīng)常有香客問我,道長钮惠,這世上最難降的妖魔是什么茅糜? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮素挽,結果婚禮上蔑赘,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好缩赛,可當我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布耙箍。 她就那樣靜靜地躺著,像睡著了一般酥馍。 火紅的嫁衣襯著肌膚如雪辩昆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天旨袒,我揣著相機與錄音汁针,去河邊找鬼。 笑死砚尽,一個胖子當著我的面吹牛扇丛,可吹牛的內容都是我干的。 我是一名探鬼主播尉辑,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼较屿!你這毒婦竟也來了隧魄?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤隘蝎,失蹤者是張志新(化名)和其女友劉穎购啄,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嘱么,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡狮含,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了曼振。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片几迄。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖冰评,靈堂內的尸體忽然破棺而出映胁,到底是詐尸還是另有隱情,我是刑警寧澤甲雅,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布解孙,位于F島的核電站,受9級特大地震影響抛人,放射性物質發(fā)生泄漏弛姜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一妖枚、第九天 我趴在偏房一處隱蔽的房頂上張望廷臼。 院中可真熱鬧,春花似錦、人聲如沸中剩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽结啼。三九已至掠剑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間郊愧,已是汗流浹背朴译。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留属铁,地道東北人眠寿。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像焦蘑,于是被迫代替她去往敵國和親盯拱。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,060評論 2 355

推薦閱讀更多精彩內容

  • """author = Zard"" 1.編寫函數(shù)例嘱,求1 + 2 + 3 +…N的和 2.編寫一個函數(shù)狡逢,求多個數(shù)中...
    Zard泉水閱讀 155評論 0 0
  • """_ author _=陳泓羽""" 1.編寫函數(shù),求1+2+3+…N的和 2.編寫一個函數(shù)拼卵,求多個數(shù)中的最大...
    依然羽閱讀 510評論 0 0
  • 編寫函數(shù)奢浑,求1+2+3+…N的和def sum_n(n: int): sum1 = 0 for i i...
    馮書簡閱讀 405評論 0 0
  • 編寫函數(shù),求1+2+3+…N的和 編寫一個函數(shù)腋腮,求多個數(shù)中的最大值 編寫一個函數(shù)雀彼,實現(xiàn)搖骰子的功能,打印N個骰子的...
    丶簡單就好丶閱讀 133評論 0 0
  • 要求用戶輸入用戶名和密碼即寡,只要不是admin徊哑、888888就一直提示用戶名或密碼錯誤,請重新輸入
    L落塵V閱讀 116評論 0 0