天天看點

python之循環與判斷(while for if )

1,for 循環,文法

python之循環與判斷(while for if )
 舉例:

for i in range(1, 5, 2): # 0,1,2,3,4
     print(i)      
python之循環與判斷(while for if )
for a in range(5):# --(0,5,1) 0,1,2,3,4
    print(a)      
python之循環與判斷(while for if )

2,九九乘法表:

for i in range(1,10):
    for k in range(1,i+1):
        a = "{}*{}={}\t".format(k,i,i*k)
        print(a,end="")
    print()      

 或者:

i = 1
while i < 10:
    j = 1
    while j < i+1:
        print("{0}*{1}={2}\t".format(j,i,j*i),end="")
        j +=1
    print()
    i +=1      
python之循環與判斷(while for if )

 3,while循環,文法;

python之循環與判斷(while for if )

 舉例說明:

age = 25
while age < 30:
    print("請列印sb的年齡:{0}".format(age))
    age += 1
print(age)      
python之循環與判斷(while for if )
用while循環實作 從 1開始 到 4結束,步長為2      
python之循環與判斷(while for if )

4,清單中删除多個元素b

name_list = ['a', 'b', 'c', 'b', 'm', 'b']
b_count = name_list.count("b")
for i in range(b_count):
    name_list.remove("b")
   
print(name_list)      
python之循環與判斷(while for if )

 5,題目: 1/1 + 1/3 + 1/5 + ... + 1/99 求和

并且列印 公式 1/1 + 1/3 + 1/5 + ... + 1/99 = 總和

while循環:

i = 1
sum = 0
i_list = []                          --定義一個空清單
while i < 100:                       --循環
    i_list.append("1/{0}".format(i)) --清單中加入一個元素
    sum += 1/i
    i += 2
i_str = "+".join(i_list)             --清單轉換成字元串,用+連結
sum_str = "{0}={1}".format(i_str,sum) --字元串拼接
print(sum_str)      
python之循環與判斷(while for if )

for循環:

sum = 0
i_list = []
for i in range(1, 100, 2):
    i_list.append("1/{0}".format(i))
    sum += 1 / i
i_str = "+".join(i_list)
sum_str = "{0}={1}".format(i_str,sum)
print(sum_str)      

6,if判斷語句:

第一種用法:

文法:if 條件:

邏輯代碼
舉例:      
age = input("請輸入dasb的年齡:")
if age.isdigit():       --
    age = int(age)
    if age > 35:
        print("去死吧,大叔")
print("1111")      
python之循環與判斷(while for if )

第2種用法:

# if  條件:
#   邏輯代碼
# else:
#   邏輯代碼
# 說明:如果條件傳回的是True則執行if下面的邏輯代碼,否則執行else後面的邏輯代碼

舉例說明      
age = input("請輸入you的年齡:")
if age.isdigit():
    age = int(age)
    if age >= 35:
        print("滄桑大叔")
    else:
        print("來啦,老哥")
else:
    print("您輸入的字元不是數字類型")
print("1111")      

第3種用法:

# if 條件1:
#   邏輯代碼
# elif 條件2:
#   邏輯代碼
# elif 條件3:
#   邏輯代碼
# ...此處省略一萬個elif
# else:
#   邏輯代碼

舉例說明:      
age = input("請輸入dasb的年齡:")
if age.isdigit():
    age = int(age)
    if age >=35:
        print("有種生物叫大叔")
    elif age >=25 and age < 35:
        print("來啦,老哥")
    elif age >= 18 and age < 25:
        print("小老弟")
    else:
        print("青春年華...")      
age = input("請輸入dasb年齡:")
print(age.isdigit())
if age.isdigit():
    age = int(age)
    print("請輸出dasb年齡:{0}".format(age))
else:
    print("你輸入的不是年齡,是其他字元:{0}".format(age))
print("hello word")      
python之循環與判斷(while for if )

 7,continue 和 break 關鍵字

# 1、continue :跳過本次循環
# 使用在 for循環中      
for i in range(5):  # 0  1  2   3   4
    if i == 3:
        continue
    else:
        pass
    print(i)      
python之循環與判斷(while for if )
# continue使用在while循環中不可以被使用
      
i = 0
while i < 5:
    if i == 3:
        continue
    else:
        pass
    print(i)
    i += 1      
python之循環與判斷(while for if )
# 2、break: 中止目前循環
      
for i in range(5):  # 0  1  2   3   4
    if i == 3:
        break
    else:
        pass
    print(i)      
python之循環與判斷(while for if )
# break 在 while循環中使用
      
i = 0
while i < 5:
    if i == 3:
        break
    else:
        pass
    print(i)
    i += 1      
python之循環與判斷(while for if )
8,設計一個ATM取款流程,預設密碼為888888提示使用者輸入密碼密碼輸入止确進入系統

第一步,輸入正确時的流程:
      
atm =input("輸入密碼")
if atm.isdigit():
    atm = int(atm)
    if atm ==888888:
        print("密碼輸入止确進入系統")      

第二步,輸入錯誤,提示重新輸入密碼

atm =input("輸入密碼")
if atm.isdigit():
    atm = int(atm)
    if atm ==888888:
        print("密碼輸入止确進入系統")
    else:
        atm != 888888
        print("提示重新輸入密碼")      

第三步,如果錯誤次數超過3次,退出程式,提示使用者己經超過最大次數。

xit = True
cuou = 0

while xit:
    atm = input("輸入密碼")
    if atm.isdigit():
        atm = int(atm)
        if atm ==888888:
            print("密碼輸入止确進入系統")
            xit = False
        elif cuou == 2:
            exit("己經超過最大次數")
            xit= False
        else:
            print("提示重新輸入密碼")
            cuou += 1      

9.請将s = 'aAsmr3idd4bgs7Dlsf9eAF',字元串的數字取出,并輸出成一個新的字元串

s = 'aAsmr3idd4bgs7Dlsf9eAF'
numer_list = []
s_list = list(s)
for i in range(len(s_list)):
    if s_list[i].isdigit():
        numer_list.append(s_list[i])
    else:
        pass
numer_str = "".join(numer_list)
print(numer_str)      
python之循環與判斷(while for if )

 10,列印3 層金字塔

for i in range(3):
    s1 = '*'*(2*(i+1)-1)  # 确定星星數  2n-1
    s2 = ' '*(2-i) # 确定空格數
    print(s2+s1)      

11,使用for循環批量修改文本

students = ['Mary','Tom',"Joson"]
for x in range(len(students)):
    print(x,students[x])
    students[x] = '45_'+students[x]

print(students)