python 入門級程式演算法
阿新 • • 發佈:2018-11-01
條件語句的基礎程式
# 設定條件的時候,一般從少數的地方入手 count = 1 while count <= 3: print(count) #可替代內容 count +=1
# 求和 count = 1 sum = 0 while count <101: sum += count count += 1 print(sum)
for迴圈的基礎程式
# 列表中for 迴圈控制索引位置 list1 = [1,2,3,4,4,5,6,] for i in range(len(list1)): print(i,list1[i])
# range具有切片的功能,所有可以妙用 Lis = [] for i in range(0,101,2): Lis.append(i) print(Lis) #將0-100內的偶數打印出來
# 敏感詞遮蔽 li = ["蒼老師", "東京熱", "武藤蘭", "波多野結衣"] new_li = [] GetInput = input('請評論:') for i in li: #在設定一個迴圈的時候要確定一個迴圈的範圍,並且要確定是否需要全部遍歷後 # 才操作還是遍歷每一個元素的時候就進行操作 if i in GetInput: GetInput= GetInput.replace(i,'*'*len(i)) new_li.append(GetInput) print(new_li)
# 常用的遍歷字典常用的兩種方法 dic = {1:1,2:2} # 方法1 for a,b in dic.items():#通過解包 print(a,b) # 方法2 for i in dic:#通過key值 print(i,dic[i])
# range的常用方法 range(10) range(1,10) range(n,m,p) #與切片一樣分別代表的是[start ,end) 和step for i in range(100,0,-2):print(i,end='\t') list1 = [1,2,3,4,5] for i in range(1,len(list1)): list1.pop()#在迴圈一個列表的時候刪除另一個列表的內容
計算某個城市車牌的數量cars = ["魯A32444", "魯B12333","魯A32444", "魯B12333","魯A32444", "魯B12333", "京B8989M", "黑C49678", "黑C46555", "滬B25041"] locations = {'滬': "上海", "黑": "黑龍江", "魯": "山東", "鄂": "湖北", "湘": "湖南", "京": "北京"} # 結果 result = {} for car in cars: # 車牌子 "魯A32444" c = car[0] # 魯 local = locations[c] # 山東 # 第五天。 字典。 新增和查詢 去程式碼裡找 # result[local] = result.setdefault(local, 0) + 1 if result.get(local): # 原來出現過 result[local] = result[local] + 1 else: # 第一次出現 result[local] = 1
#99乘法表 for i in range(1,10): for j in range(1,i+1): print('%s * %s= %s\t'%(j,i,i*j),end = '') print()
#注意的有坑 k ='123' gg = '' for i in k: gg+=i print(gg) for i in range(2,2): print(i) else: print('gg')
# 倒金字塔函式演算法 def gg(n): for i in range(1,n+1): for a in range(i): print('_',end = '') for b in range(2*(n-i)+1): print('*',end = '') print()
n表示的是行數,由於是第幾行就顯示幾個'_' 所以第二層迴圈直接使用i作為列印的次數,因為每行*的個數等於總行數-當前行號*2 -1
所以以此作為迴圈的次數,執行完下面兩個列印的迴圈之後,通過print()中一個預設的換行符進行換行
# 求1-100內所有的質數的和 def func(n): # 只能被1和自身整除的數 if n == 1: # 特殊處理的 return False # n / 2, 3, 4, 5, 6, 7, 8, 9....n-1 for i in range(2, n): if n % i == 0: # 不是質數 return False else: return True print(func(2)) sum = 0 for i in range(1, 101): if func(i): # 如果是質數. 幫我累加 sum += i print(sum)