作爲一個有過編程基礎的人,普通的python課已經無法滿足期望值,意向儘快使用python做一些有趣的小玩意,爲了儘快掌握python語法就在嗶哩嗶哩上看了一些練習課,鏈接地址是:https://www.bilibili.com/video/BV12P411c7Bf?p=4&vd_source=9fd5615f3e18c29080a5fcfc9ebfa535
ctrl + alt + l
: pycharm的格式化當前代碼
Ctrl + Shift + Alt + J
: 選中全部相同字符(變量)快捷鍵組合:
Alt + J : 選中下一個相同字符(變量)的快捷鍵:
一起做下去吧~
- 逐行求和
a = 1
a = 2
a = 3
print(a + a + a)
答案 9 因爲python逐行向下執行,如果遇到已聲明過的變量會被覆蓋 因而a終值爲3,3*3得9
- 聲明變量練習
# 會報什麼錯誤
a = 1
a1 = 2
a2 = 3
a3 = 4
_a3 = 5
4a3 = 5
> 會報聲明變量(語法)錯誤,python聲明變量只允許字母或者下劃線開頭
3. 賦值練習
```python
a = 2
b = 2
print(a == b)
print(b == c)
語法錯誤 c未定義,pyt中變量需要先定義再使用
- 類型出錯
# 修復如下代碼,使其輸出數字1+2結果爲3
a = '1'
b = 2
print(a + b)
類型錯誤,pyt中不能隱式轉換,需要用int(str)或者str(int)強轉成同一類型後再運算,本題應使用int(a)後再相加
- 縮進錯誤
for letter in 'hello':
if letter == 'e'
print(letter)
縮進錯誤,pyt中嚴格縮進,在代碼塊中縮進標識一個作用域範圍,正確做法第三行應該再縮進一個縮進單位;
tips1: for語句時,應該以冒號結尾!
tips2: if語句時,同樣應以冒號結尾!
tips2: pyt的與或非分別對應and
、'or'、'not' ,而不是其他語言中的&&
、||
、!
- 結尾錯誤
#: 給出報錯原因並修復
print(type('hey'.replace('ey','i')[-1])
尾括號少了一個
pyt中
str
類型[-1]
表示該字符串中最後一位
- 關鍵字錯誤
pass = input('input your psd')
pass是pyt關鍵字,pyt中的關鍵字不允許作爲變量使用
pyt不允許在條件語句或者定義類或者函數時置爲空,因而可以使用pass關鍵字表示當前作用域下什麼都不做
在pycharm中,關鍵字以斜體表示
- 未定義錯誤
# 解釋報錯原因並修復 期望最終輸出3
# math.sqrt:求一個數字的平方根
math.sqrt(9)
math
是內置模塊之一,但是默認不會自動導入,需要手動導入
pyt的此函數默認輸出float類型,且該語句沒有輸出值,因而在求值後還要用int強轉爲整數
import math
print(int(math.sqrt(9)))
- 輸出指定索引序列元素
# 已知b在序列中,輸出b位置
lista = ['a', 'b', 'c','d','e','f','g']
答案
# 已知b在序列中
print(lista[1])
#如果不知道b是否在序列中,需要判斷一下先:
# 確認b在序列中 使用in
if('b' in lista):
bIndex = lista.index('b')
print(lista[bIndex])
# 或者:
('b' in lista) and print(lista[lista.index('b')])
# 定義了一個函數並執行:
def get_var(var_name, mylist):
return (var_name in mylist) and print(mylist[mylist.index(var_name)])
# pyt沒有作用域提升,逐行執行,因而需要先定義函數在執行
get_var('b', lista)
tips1:
in
關鍵字用於在序列中判斷是否有某個值
tips2:def
關鍵字用於定義函數
arr[index]用於查找序列中某個索引的第一個值,index如果超出數組最大索引會報錯
- 輸出子序列
以上。