1. 程式人生 > >python 入門級程式演算法

python 入門級程式演算法

條件語句的基礎程式

# 設定條件的時候,一般從少數的地方入手
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)