Python學習過程中那些很重要有容易忽略的細節

2022-07-31 19:12:09 字數 1830 閱讀 9716

# 本文我將持續更新和補充,可以收藏。

# 主要記錄:開發過程中程式不報錯但是邏輯存在問題的;邏輯會報錯但是(太簡單)不太會去優先測試的;及其他各種……

#  當下比較粗糙,以後積累到一定數量,希望能做成乙個手冊。

1.中英文標點符號錯誤,尤其引號,逗號,冒號是否落下,是否錯誤。 尤其在input函式、正規表示式中等。(這個排第一,不接受反駁,2333)

2.多分支(if...elif...elif...else...)結構中,各分支條件之間的覆蓋關係,變數取值之間的覆蓋關係。程式可執行但是不正確。

3. 這種小題目,有時候突然就有新思路。之前一直笨笨的去找,比如求 百位數,我會寫成: b = (num % 10000)%1000 //100 ...  差點被繞進去了。

# 5

、通過鍵盤輸入乙個

512321

是回文數,個位與萬位相同,十位

# 與千位相同。

num =

int(input("

輸入五位數:

"))w = num //

10000

q = (num %

10000) //

1000

b = (num %

1000) //

100s = (num %

100) //

10g = num %

10if w == g and q == s:

print("

回文數")

else

:print("

不是回文數

")

4.while迴圈語句,容易漏掉條件初始化(i=0),或者最後條件計數器忘記寫,造成死迴圈。在迴圈巢狀和迴圈分支巢狀等較為複雜語句的時候,還要注意 多條件計時器的位置,起始值,包含關係。尤其,再加入 break、continue等關鍵字後,更要注意。

5.關係運算子中間是不能有空格的額,比如「<=」,尤其在習慣pep8的格式但是又不是很準確的時候 ,容易習慣性的在「+」 等後面加乙個空格,寫成「+ =」,造成語法錯誤。

6./除法計算結果是浮點數,即使是兩個整數恰好整除,結果也是浮點數:  9/3 = 3.0     地板除,兩個整數的除法仍然是整數    10//3 = 3

7.題目:使用while迴圈輸出如下圖形:(必須使用雙重while迴圈實現)

** *

* * *

* * * *

對於強迫來說,一家人必須要整整齊齊,哈哈沒配圖尷尬了。

i = j = 

1while i <= 5:

while j <= i:

print(" "

* (5

-i),

end=

"") print("* "

* i,

end=

"") print(" "

* (5

-i),

end=

"") j +=

1print()

i +=

1

其實重點是要強調的一種思維是:

#1 4個空格  +  1個「* + 空格」  + 4個空格

#2 3個空格  +  2個「* + 空格」  + 3個空格

#3 2個空格  +  3個「* + 空格」  + 2個空格

#4 1個空格  +  4個「* + 空格」  + 1個空格

#5 0個空格  +  5個「* + 空格」  + 0個空格

以上是迴圈的思路,而且為了對齊把「*」和乙個空格,當作乙個整體來看待;當然,還是那句話,這道題肯定有更簡單的方法。

(待續)......

Python學習過程中的問題

args 和 kwargs args代表位置引數,它會接收任意多個引數並把這些引數作為元組傳遞給函式。kwargs代表的關鍵字引數,允許你使用沒有事先定義的引數名,另外,位置引數一定要放在關鍵字引數的前面。new 和 init 的區別 建立乙個新例項時呼叫 new 初始化乙個例項時用 init 這是...

python學習過程中的注意點

input返回為str型資料,需要進行資料轉化 python中縮排可以在文字編輯器中直接用tab,tab和空格混用會報錯 list對應,tuple對應 dictionary對應 對於list,tuple和dictionary的索引用的都是 python中字元和整型都是不可變的物件,呼叫不可變物件自身...

那些年在使用python過程中踩的一些坑。

python是一門功能非常強大,語法也比較簡單的程式語言。在使用python的過程中本人深深地感受到這門語言的魅力。即便如此,本人在程式設計的過程中依舊踩到了一些坑。這裡將它們簡單總結起來,希望可以幫助一些新人規避這些問題。當然最好的辦法還是在學習語言的過程中更留意語法細節。注意你所使用的資料型別 ...