python練習100題(持續更新)9

作爲一個有過編程基礎的人,普通的python課已經無法滿足期望值,意向儘快使用python做一些有趣的小玩意,爲了儘快掌握python語法就在嗶哩嗶哩上看了一些練習課,鏈接地址是:https://www.bilibili.com/video/BV12P411c7Bf?p=4&vd_source=9fd5615f3e18c29080a5fcfc9ebfa535
ctrl + alt + l : pycharm的格式化當前代碼
Ctrl + Shift + Alt + J : 選中全部相同字符(變量)快捷鍵組合:
Alt + J : 選中下一個相同字符(變量)的快捷鍵:
一起做下去吧~

  1. 逐行求和
a = 1
a = 2
a = 3
print(a + a + a)

答案 9 因爲python逐行向下執行,如果遇到已聲明過的變量會被覆蓋 因而a終值爲3,3*3得9

  1. 聲明變量練習
# 會報什麼錯誤

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. 類型出錯
  # 修復如下代碼,使其輸出數字1+2結果爲3
a = '1'
b = 2
print(a + b)

類型錯誤,pyt中不能隱式轉換,需要用int(str)或者str(int)強轉成同一類型後再運算,本題應使用int(a)後再相加

  1. 縮進錯誤
for letter in 'hello':
	if letter == 'e'
	print(letter)

縮進錯誤,pyt中嚴格縮進,在代碼塊中縮進標識一個作用域範圍,正確做法第三行應該再縮進一個縮進單位;

tips1: for語句時,應該以冒號結尾!
tips2: if語句時,同樣應以冒號結尾!
tips2: pyt的與或非分別對應and、'or'、'not' ,而不是其他語言中的&&||!

  1. 結尾錯誤
#: 給出報錯原因並修復

print(type('hey'.replace('ey','i')[-1])

尾括號少了一個

pyt中str類型[-1]表示該字符串中最後一位

  1. 關鍵字錯誤
pass = input('input your psd')

pass是pyt關鍵字,pyt中的關鍵字不允許作爲變量使用

pyt不允許在條件語句或者定義類或者函數時置爲空,因而可以使用pass關鍵字表示當前作用域下什麼都不做
在pycharm中,關鍵字以斜體表示

  1. 未定義錯誤
# 解釋報錯原因並修復 期望最終輸出3
# math.sqrt:求一個數字的平方根
math.sqrt(9)

math是內置模塊之一,但是默認不會自動導入,需要手動導入
pyt的此函數默認輸出float類型,且該語句沒有輸出值,因而在求值後還要用int強轉爲整數

import math
print(int(math.sqrt(9)))
  1. 輸出指定索引序列元素
# 已知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如果超出數組最大索引會報錯

  1. 輸出子序列

以上。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章