python入門記錄 python入門基礎習題記錄

2021-10-19 20:43:42 字數 4409 閱讀 5008

執行python指令碼的兩種方式:

1、配置好環境變數,python  *.py

2、python進入python直譯器,直接執行

簡述位、位元組關係:

1、1位元組(byte)=8位(bit)

簡述ascii,unicode,utf-8,gbk關係:

1、ascii:最早的一種編碼方式,用乙個位元組也就是8位來表示乙個字元,最多有2**8=256個字元。

2、unicode:俗稱萬國碼,統一用2位元組即16位來表示乙個字元,最多有2**16個字元。

3、utf-8:由於ascii碼能表示的字元太少,unicode又會浪費儲存和運輸,所以utf-8被提出來了。utf-8是可變長編碼。字元需要多少位元組就用多少位元組。一般英文本元採用ascii碼,中文字元採用3個位元組進行編碼。

4、gbk:gbk是國內的編碼方式,一般中文用2個位元組,英文用乙個位元組表示。

eg:比如"李傑"在utf-8需要6個位元組來表示,但是在gbk需要4個位元組來表示。

5、len函式:python3裡面計算字串長度,python27裡面計算位元組。

eg:a="李傑",假設為utf-8編碼,在python2中len(a)輸出為6,pyhton3則為2.

python注釋:

1、單行注釋:#

2、多行注釋:''' '''或者""" """

python變數規則:

1、數字/字母/下劃線

2、數字不能開頭

3、不可和內建函式重名影響內建函式功能

如下有乙個變數n=15,請問該變數最少需要用多少個二進位制表示:

n=5print(n.bit_length())

布林值分別有哪些:

1、主要有:false、true

capitalize函式:

1、首字母大寫

有如下變數a=" alex",請實現如下功能:

1、移除變數對應的值兩邊的空格,並輸出移除後的空格

a=" alex"

print(a)

print(a.replace(' ',''))

2、判斷變數是否以al開頭或者以x結尾,並輸出判斷結果

a=" alex"

print(a)

print(a.startswith('al'))

print(a.endswith('x'))

3、將變數中的l替換成p,並輸出結果:

a=" alex"

print(a)

print(a.replace('l','p'))

4、將變數根據l進行分割,並輸出結果:輸出的結果是list列表型別

a=" alex"

print(a)

print(a.split('l'))

5、將變數的值變成大/小寫輸出:

a=" alex"

print(a)

print(a.upper())

print(a.lower())

6、輸出變數的第二個字元和前三個字元和後兩個字元:

a=" alex"

print(a)

print(a[1])

print(a[0:3])

print(a[-3:-1])

7、請輸出變數中的e的索引位置:

a=" alex"

i=0while i

if a[i]=='e':

print(i)

i=i+1

print(a.index('e'))

print(a.find('e'))

8、字串是否可迭代物件(只要可以使用for迴圈進行迴圈的物件)?如可以請使用for迴圈每乙個元素?

a=" alex"

i=0while i

print(a[i])

i=i+1

9、請用**實現:

a. 利用下劃線將列表的每乙個元素拼接成字串, li = "alexericrain"

b. 利用下劃線將列表的每乙個元素拼接成字串, li = ['alex','eric','rain']

li="alexericrain"

print('_'.join(li))

li=['alex','eric','rain']

print('_'.join(li))

10、python2中的range和python3中的range的區別?

python2裡面是立即建立儲存在記憶體,如果資料量過大,會導致記憶體不足或者卡住,python3裡面是在迴圈時才一一建立。

python2裡面的xrange和python3裡面的range是一樣的,都是在for迴圈裡面迴圈時才一一建立。

11、實現乙個整數加法計算器:

如:content = input('請輸入內容: ') # 如: 5+9 或 5+ 9 或 5 + 9

content=input("請輸入乙個二維加法表示式")

v1,v2=content.split('+')

v1=int(v1)

v2=int(v2)

print(v1+v2)

12、計算使用者輸入的內容中有幾個十進位制數?幾個字母?

如:content=input('請輸入內容:') #如:asduiaf878123jkjsfd-213928

a = input("請輸入乙個字串\n")

t1 = 0

t2 = 0

for i in a:

if i.isnumeric():

t1 += 1

if i.isalpha():

t2 += 1

print(t1, t2)

13、簡述int和9等數字 以及str和"xxoo"等字串的關係?

int/str是類,9/「xxoo」是對應類下面的物件。

14、製作趣味模板程式

需求:等待使用者輸入名字、地點、愛好,根據使用者的名字和愛好進行任意現實

如:敬愛可親的 ***,最喜歡在 *** 地方幹 ***

a = input("請依次輸入姓名,地點,愛好(以逗號分割)\n")

v1, v2, v3 = a.split(',')

print('敬愛可親的' + v1 + ',最喜歡在' + v2 + '地方幹' + v3)

#或者如下

v = "敬愛可親的,最喜歡在地方幹"

print(v.format(v1, v2, v3))

15、製作隨機驗證碼,不區分大小寫。

流程:-使用者執行程式

-給使用者顯示需要輸入的驗證碼

-使用者輸入的值

使用者輸入的值和顯示的值相同時顯示正確資訊; 否則繼續生成隨機驗證碼繼續等待使用者輸入

#生成隨機碼自定義函式

def check_code():

import random

checkcode = ''

for i in range(4):

current=random.randrange(0,4)

if current != i:

temp = chr(random.randint(65,90))

else:

temp = random.randint(0,9)

checkcode += str(temp)

return checkcode

while true:

code = check_code()

print(code)

a = input("請輸入驗證碼:\n")

if a.upper() == code.upper():

print("輸入正確")

break

16、開發敏感詞語過濾程式, 提示使用者輸入內容,如果使用者輸入的內容中包含特殊的字元:

如"蒼老師" "***",則將內容替換為***

a = input("請輸入內容:\n")

a = a.replace("蒼老師","***")

a = a.replace("***","***")

print(a)

17、製作**

迴圈提示使用者輸入:使用者名稱、密碼、郵箱 (要求使用者輸入的長度不超過20個字元,如果超過則只有前20個字元有效)

如果使用者輸入q或q表示不再繼續輸入,將使用者輸入的內容以**形式大隱

s=''

while true:

a = input("請輸入使用者名稱,密碼,郵箱(按照','分割)\n")

if a.upper() == 'q':

break

v1,v2,v3 = a.split(',')

v1 = str(v1[0:20])

v2 = str(v2[0:20])

v3 = str(v3[0:20])

#print(v1,v2,v3)

temp = "\t\t\n"

s=s+temp.format(v1,v2,v3)

print(s.expandtabs(20))

python入門記錄

mix 1,a string 3.14,1,2,3 empty member 金魚 鯉魚 黃魚 len member 結果是3 member.extend 帶魚 娃娃魚 extend 能以這樣的形式加入兩個引數 member.insert 1,鯽魚 remove member.remove 帶魚 如...

python入門記錄 Python 入門學習記錄

基礎語法 縮排縮排表達 內容的所屬關係的唯一方式,中縮排的長度必須保持統一。注釋python 使用 作為單行注釋標識,作為多行注釋標識。如 這是單行注釋 這是多行注釋 命令 保留字 命名規則 大小寫字元 數字 下劃線和漢字等字元及組合。大小寫敏感,首字元不能為數字,不能與保留字相同。保留字 被程式語...

Python入門記錄3

python 模組 python 檔案,包含 python 物件定義和 python 語句 import 關鍵字引入模組 當前搜尋路徑 shell 變數pythonpath 預設路徑 fromtimeimporttimezone 只引入模組中的乙個屬性或方法 fromtimeimport 引入全部模...