<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          寫一段代碼,每天寫寫Python自然就會(huì)了

          共 2930字,需瀏覽 6分鐘

           ·

          2022-01-11 13:39

          讀一篇博客,寫一段代碼,每天寫寫Python自然就會(huì)了,每日Python第1天 這個(gè)系列的專欄是為了保持 Python 手感而創(chuàng)建的,你也可以用來學(xué)習(xí) Python

          寫著寫著發(fā)現(xiàn),這些可能都是面試題哦~

          反轉(zhuǎn)數(shù)字

          問題場(chǎng)景 把數(shù)字 789 轉(zhuǎn)換為 987。

          典型的數(shù)字翻轉(zhuǎn)問題。

          解決思路 將數(shù)字的百位十位個(gè)位拆解出來,就解開了

          編碼如下

          def?reverse_number(number):
          ????baiwei?=?int(number/100)
          ????shiwei?=?int(number%100/10)
          ????gewei?=?int(number%10)
          ????return?gewei*100+shiwei*10+baiwei

          new_number?=?reverse_number(789)
          print(new_number)

          類的說明文檔

          問題場(chǎng)景 給新創(chuàng)建的類添加說明文檔

          解決思路 在類名下使用三引號(hào)即可添加說明文檔,使用 類名,__doc__ 可調(diào)用該文檔

          編碼如下

          class?My_Class(object):
          ????"""你好"""

          print(My_Class.__doc__)

          設(shè)置 Python 文件的編碼

          問題場(chǎng)景 Python 文件設(shè)置默認(rèn)編碼。

          解決思路 Python 腳本文件默認(rèn)是使用 UTF-8 編碼格式進(jìn)行編碼的,一般無需指定編碼,但我們也可自行設(shè)置編碼,Python2 代碼文件一般都帶該行注釋。設(shè)置方式是使用一行注釋,要求格式需滿足下述正則表達(dá)式。

          編碼如下

          coding[=:]\s*([-\w.]+)

          聲明位置在 Python 文件的第一行或者第二行,注意 :=沒有空格。例如下述代碼:

          #?-*-?coding:utf-8?-*-

          也可以使用大寫

          #?-*-?coding:UTF-8?-*-

          旋轉(zhuǎn)字符串

          問題場(chǎng)景 一個(gè)字符串,一個(gè)數(shù)字,完成如下操作

          • 字符串為 abcde,數(shù)字為 3,則輸出 cdeab;- 字符串為 abcde,數(shù)字為 1,則輸出 eabcd;- 字符串為 abcde,數(shù)字為 0,則輸出 abcde;- ……解決思路 一個(gè)字符串切片運(yùn)用的問題。

          編碼如下

          def?reverse_str(my_str,offset):
          ????#?如果數(shù)字為?0,順序默認(rèn)不變
          ????if?offset?==0:
          ????????return?my_str

          ????left?=?my_str[:len(my_str)-offset]
          ????right?=?my_str[len(my_str)-offset:]
          ????return?right?+?left

          實(shí)現(xiàn)控制臺(tái)滾動(dòng)條

          問題場(chǎng)景 在控制臺(tái)輸出滾動(dòng)條。

          解決思路 使用字符串格式化進(jìn)行實(shí)現(xiàn),例如用 > 表示進(jìn)展,用 / 表示未完成的進(jìn)展,使用 ljust() 方法返回一個(gè)原字符串左對(duì)齊,并使用填充字符(默認(rèn)空格)填充至指定長(zhǎng)度的新字符串。

          編碼如下 逐步實(shí)現(xiàn)

          #?打印一行?>>>
          progress_str?=?">"?*?100
          print(progress_str)

          填充一部分 >,再填充另一部分 /

          #?打印一行?>>>
          progress_str?=?">"*20
          #?填充50個(gè)?-
          progress_str?=?progress_str.ljust(100,'/')
          print(progress_str)

          實(shí)現(xiàn)循環(huán)操作

          import?time

          for?i?in?range(0,?11):
          ????time.sleep(0.3)

          ????current?=?i/10

          ????#?進(jìn)度條
          ????progress_str?=?'{0:s}{1:.0%}'.format(
          ????????(int(current*10)*'>').ljust(10,?'/'),?current)
          ????print(progress_str)

          為了讓其在一行出現(xiàn),可以修改代碼為如下格式,注意最后一行代碼。

          import?time

          for?i?in?range(0,?11):
          ????time.sleep(0.3)

          ????current?=?i/10

          ????#?進(jìn)度條
          ????progress_str?=?'{0:s}{1:.0%}'.format(
          ????????(int(current*10)*'>').ljust(10,?'/'),?current)
          ????print(f'\r{progress_str}',end='')

          print 函數(shù)直接寫入文件

          問題場(chǎng)景 如果不希望將 print 函數(shù)輸出的內(nèi)容,打印到控制臺(tái),而是直接輸入到文件中,該如何操作?

          解決思路 print() 函數(shù)有一個(gè)參數(shù)叫做 file,用它就行。

          編碼如下

          file?=?open('runtime.log',?'a+',?encoding='utf-8')
          print('測(cè)試日志',?file=file)

          合并 2 個(gè)列表

          問題場(chǎng)景 合并 2 個(gè)列表,并要求合并之后的列表有順序。例如 my_list1 = [1,2,3] , my_list2 = [1,3,5] ,合并之后是 my_list = [1,1,2,3,3,5]

          解決思路 先合并 2 個(gè)列表,然后判斷其各個(gè)元素大小,判斷的時(shí)候使用冒泡排序即可完成任務(wù)。編碼如下

          def?merge(l1,?l2):
          ????my_list?=?l1?+?l2
          ????n?=?len(my_list)
          ????for?i?in?range(n):
          ????????for?j?in?range(0,?n?-?i?-?1):
          ????????????if?my_list[j]?>?my_list[j?+?1]:
          ????????????????my_list[j],?my_list[j?+?1]?=?my_list[j?+?1],?my_list[j]
          ????print(my_list)

          if?__name__?==?'__main__':
          ????my_list1?=?[4,?2,?6]
          ????my_list2?=?[1,?3]
          ????merge(my_list1,?my_list2)




          Python“寶藏級(jí)”公眾號(hào)【Python之王】專注于Python領(lǐng)域,會(huì)爬蟲,數(shù)分,C++,tensorflow和Pytorch等等。

          近 2年共原創(chuàng) 100+ 篇技術(shù)文章。創(chuàng)作的精品文章系列有:

          日常收集整理了一批不錯(cuò)的?Python?學(xué)習(xí)資料,有需要的小伙可以自行免費(fèi)領(lǐng)取。

          獲取方式如下:公眾號(hào)回復(fù)資料。領(lǐng)取Python等系列筆記,項(xiàng)目,書籍,直接套上模板就可以用了。資料包含算法、python、算法小抄、力扣刷題手冊(cè)和 C++ 等學(xué)習(xí)資料!

          瀏覽 36
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久久人妻无码中文字幕系列 | 91中文字幕人妻在线 | 精品白浆 | 伊人夜夜躁AV伊人久久 | 99精品一区二区三区 |