您好,登錄后才能下訂單哦!
Python是一種計算機程序設計語言,由吉多·范羅蘇姆創造,第一版發布于1991年,可以視之為一種改良的LISP。Python的設計哲學強調代碼的可讀性和簡潔的語法。相比于C++或Java,Python讓開發者能夠用更少的代碼表達想法。
一、序列
操作符
x in s 如果x是列表s的元素,返回True,否則False
s + t 連接兩個序列s和t
s*n或者n*s 將序列s復制n次
s[i] 返回s中第i元素
s[i:j]或s[i:j: k] 切片,返回序列s中第i到j-1以k為步長的元素子序列
函數
len(s) 返回序列的長度
min(s) 返回序列的最小值
max(s) 返回序列的最大值
s.index或s.Index(x,i,j) 索引從i到j-1中第一次出現x的位置
s.count(x) 返回x在s中出現的次數
ls[i] = x 替換列表中第i元素為x
ls[i:j:k] =lt 用lt代替從i到j-1步長為k的元素
ls += lt 把lt元素加入ls中
ls*= n 把ls的元素復制n次
二、列表
函數
ls.append(x) 把x加入列表ls中
ls.clear() 刪除ls中所有元素
ls.copy() 生成一個新列表并賦予ls的元素
ls.insert(i.x) 在第i位置家加入元素x
ls.pop(i) 將列表ls中第i元素去除并刪除其元素
ls.remove(x) 將列表ls出現的第一個元素x刪除
ls.reverse() 將列表ls的元素反轉
三、元組
與列表類似,但是內容不可添加或者刪除,用()表示。
四、字符串
str.lower()
或者str.upper() 把元素全部大寫\小寫
str.split(x) 用x把str的元素分隔開
str.count(x) 返回x在str中出現的次數
str.replace(x,y) 用y替換x
str.center(width,x) 將str根據寬度width居中,x填充左右部分
str.strip(x) 刪除str首尾的x
x.join(str) 在除了最后1個元素的其他元素后增加一個str
五、15道例題
1、用階梯形狀打印出九九乘法表
解題思想
九九乘法表需要把兩個變量相乘,可考慮用for if循環
由于每次print都會自帶一個換行符,所以可以考慮用end去除換行符
代碼
for i in range(1,4):
for j in range(1,i+1):
print(i,'*',j,'=',i*j, sep='', end=' ')
print('')
2、打印字符串"甲乙丙丁午己庚辛壬癸"的所有字符,要求每個字符占據一行
解題思想
這樣依次打印字符串,考慮用 for循環。
代碼
for c in "甲乙丙丁午己庚辛壬癸":
print(c)
3、循環十次在同一行內打印10個’X’
解題思想
考慮while循環,同一行用end函數換掉末尾的換行符
代碼
i = 0
while i<10:
print('*', end='')
i += 1
4、計算績點
若分數小于60,則GPA=0
若分數score>=60, 則 GPA=(score-50)/10
解題思想
需要分情況,所以可用if函數
代碼
def GPA(score):
GPA = 0
if score>=60:
GPA = (score-50)/10
return GPA
輸入分數即可得到GPA
5、計算不大于100的所有自然數的和
解題思路
for循環里面加入疊加的變量
代碼
x = 0
for i in range(1,101):
x+=i
print(x)
6、將字符串‘pythonlil’變成大寫形式
解題思想
可用upper實現
代碼
x = 'pythonlil'.upper()
print(x)
7、用單個for,循環十次在同一行內打印十個數字’0 1 2 3 4 5 6 7 8 9 ’
字符之間用單個空格分隔
解題思想
十個數字可以用range函數實現,通過for 循環解題
代碼
for i in range(10):
print(i, end=' ')
print('')
8、循環十次在同一行內打印10個’=’
解題思想
看到循環應該反應用for或者while來解決
代碼
for i in range(10):
print('=', end='')
print('')
9、打印下列圖案:12個等號,每行4個
解題思想
打印重復等號用for或者while實現,換行可以用if實現
代碼
for i in range(1,13):
print('=', end='')
if(i%4==0):
print('\n', end='')
10、用雙層for循環打印九九乘法表
解題思路
限定用兩個for 一個for控制第一個變量 另一個for控制第二個變量 換行用end函數實現
代碼
for i in range(1,4):
for j in range(1,i+1):
print(i,'*',j,'=',i*j, sep='', end=' ')
print('')
11、異常處理
假設在一大堆日期數據中出現多個錯誤日期2019/2/29 除去這些不正確的行
解題思想
需要鎖定29這個不存在二月的號數,需要用split分隔
代碼(設data是日期列表)
for line in data1:
linelist = line.split(',')
linelist1 = linelist[1].split(' ')
linelist2 = linelist1[0].split('-')
linelist3 = list(linelist2)
if linelist3[1] == '02' and linelist3[2] == '29'
del line
12、數據分類
假設有包含1到12月的日期列表linelist 將每個月的日期分別放在不同的csv文件里面
解題思想
需要鎖定月份 所以要把月份分隔開來作為分類依據
代碼(設data是日期列表)
for line in data:
linelist = line.split(',')
linelist1 = linelist[1].split(' ')
linelist2 = linelist1[0].split('-')
if linelist2[1]=='01':
with open('mon1.csv','a+')as f1:
f1.write(line)
elif linelist2[1]=='02':
with open('mon2.csv','a+')as f2:
f2.write(line)
elif linelist2[1]=='03':
with open('mon3.csv','a+')as f3:
f3.write(line)
elif linelist2[1]=='04':
with open('mon4.csv','a+')as f4:
f4.write(line)
elif linelist2[1]=='05':
with open('mon5.csv','a+')as f5:
f5.write(line)
elif linelist2[1]=='06':
with open('mon6.csv','a+')as f6:
f6.write(line)
elif linelist2[1]=='07':
with open('mon7.csv','a+')as f7:
f7.write(line)
elif linelist2[1]=='08':
with open('mon8.csv','a+')as f8:
f8.write(line)
13、比較[1,3,6,8,5,2,6]的大小并按照從大到小排序
解題思想
sort函數可以按照從小到大的順序排序,題目要的是從大到小,用reverse = True可實現降序
代碼
[1,3,6,8,5,2,6].sort(reverse=True)
14、輸入一個阿拉伯整數,四位數字一組,間隔以逗號
解題思想
需要判斷什么時候達到四位并進行分隔,定義一個函數 n即為輸入的整數
代碼
def wan(n, sep=','):
n = str(n)
L = len(n)
lst = []
b = L%4
if b>0:
lst = [n[:b],]
for i in range(b,L,4):
lst.append(n[i:i+4])
n = sep.join(lst)
return n
使用print(wan(n))就可以得到結果
15、 創建一個1.txt文件 輸入’靜夜思‘
解題思想
創建py文件可以直接用with open函數 輸入文字用write()實現
代碼
with open('1.txt','w+') as f:
f.write('靜夜思')
以上就是知識點的總結和15道例題的解析
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。