1. 程式人生 > >while & for 循環的使用

while & for 循環的使用

.com mage for 循環 span pan for循環 定義 重復元素 time

一、while 循環

技術分享圖片

1.while 循環的語句

while 條件:
    語句體
    語句體

使用while循環容易出現死循環,需要加入循環控制條件

times = 1
while  times <=5:
      print("times:",times)
      #循環結束的控制語句
      times +=1
print("程序結束")

例如:猜字遊戲,假設答案是9 ,讓用戶從鍵盤中輸入一個整數,使用while循環,提供多次機會給用戶猜測。比如說,給用戶三次機會

num = 9
times = 1

while times <= 3:
    num1 
= int(input("請輸入一個整數: ")) if num1 == num: print("您猜對了") elif num1 < num: print("您猜小了") else: print("您猜大了") times = times + 1

2.break/continue

break 語句會跳出循環,並終止循環;continue 語句會跳出當層循環,並且開始下一次循環。

例如:輸出1到10,如果是2的倍數,則不輸出(continue用法)

times =1
while times <= 10:
    
if times % 2 ==0: times +=1 continue print(times) times = times +1

例如:輸出1到20,如果是5的倍數,則結束程序

times = 1
while times <=20:
     if times % 5 ==0:
        times +=1
        bresk
      print(times)
     times +=1
print("程序結束")

練習:1.求100以內的奇數之和 99+97+95+93+.......+1

第一種:
n = 0 sum = 0
while n <= 99: n = n + 1 if n % 2 ==0: continue sum = sum + n print(sum)

第二種: n
= 99 sum = 0 while n > 0: sum = sum + n n = n-2 print(sum)

2.創建一個包含了100以內的奇數的列表

list = []
n = 101
while n >= 2:
    if n % 2 != 0:
        n = n - 2
        list.append(n)
print(list)

二、for 循環語句

for 變量 in 範圍:
    for 循環的循環體
----循環的次數,由指定的範圍內的數量

1.遍歷字符串

str = "hello,world!"
total = 0
for i in str:
    print(i)
    total = total + 1
print(total)

2.遍歷列表

list = [1,2,3,"test",34,"python"]
for l in list:
     print(l)

3.range() 函數 range(始起值,結束值,步長值) range(始起值,結束值) 取值範圍:始起值,到(結束值-1)

for i in range(0,6):
     print(i)

例如:請寫出一段 python 代碼實現刪除一個list裏面的重復元素

list = [2,3,4,2,4,3,5,11,23,13]
lst =[]
for i in list:
     if i not in lst:
          lst.append(i)
print(lst)
print(sorted(lst))

4.for循環的嵌套

for 變量 in 範圍:
    語句
    for 變量 in 範圍:
        循環體
for i in range(1,10):
    print("i-->:",i)
    for j in range(1,i+1):
        print("j-->:",j,end="\t")
    print()

例如:使用for循環嵌套實現99乘法表

# 第1種
for i in range(1,10):
    for j in range(1,i+1):
        print("%d*%d=%2d"%(i,j,i*j),end = "\t")
    print()
# 第2種
for i in range(1,10):
    for j in range(1,i+1):
        print(str(i) + "*" + str(j) + = + str(i*j),end="\t")
    print()

5.冒泡排序

例如:定義一個列表,如 lst = [3,8,2,12,56,9],然後把列表中的數據由高到低排序,並輸出。

lst = [3,8,2,12,56,9]
for i in range(0,len(lst)-1):
    for j in range(0,len(lst)-1-i):
        if lst[j] < lst[j+1]:
            lst[j],lst[j+1] = lst[j+1],lst[j]
print(lst)

while & for 循環的使用