Python for與while迴圈的比較

2021-09-06 04:05:46 字數 2044 閱讀 7380

'''

created on 2023年12月31日

@author: zhou

''''''

1.在for迴圈中,迴圈控制變數的初始化和修改都放在語句頭部份,形式較簡潔,且特別適用

於迴圈次數已知的情況,比如:遍歷列表,列印有規律的一組數等

2.在while迴圈中,迴圈控制變數的初始化一般放在while語句之前,迴圈控制變數的修改一般放在

迴圈體中,形式上不如for語句簡潔,但它比較適用於迴圈次數不易預知的情況

'''#問題1:請輸入乙個數,如果該數不是0~9的整數,提示再次輸入,若是程式結束

#當迴圈次數不確定時,我們選擇用while迴圈來實現

#程式1

a = input("請輸入乙個數:")

l = list(range(0,10))

while int(a) not in l:

a = input("請輸入乙個數:")

else:

print("end")

#程式2

a = int(input("請輸入乙個數:"))

while a < 0 or a > 9999:

a = int(input("請輸入乙個數:"))

else:

print("end")

#問題2:編寫乙個python程式,輸出從整數n開始一次遞增2的數,直到最後乙個數既是5的倍數又是7的倍數為止

#while迴圈適用於終止條件有多個的情況

#程式1

i = int(input("請輸入乙個數:"))

while (i % 5 != 0 or i % 7 != 0):

print(i)

i += 2

print(i)

#程式2 not (a and b) 相當於 not a or not b ; not (a or b) 相當於 not a and not b

i = int(input("請輸入乙個數:"))

while not (i % 5 != 0 and i % 7 != 0):

print(i)

i += 2

print(i)

#問題3:類 斐波那契數列

#程式x = 1

y = 1

print(x,' ',y,end=',')

i = x + y #數列中第三個數

while i % 5 != 0 or i % 7 != 0:

print(i,end=' ')

x = y

y = i

i = x + y

print(i,end=' ')

#問題4:檢查列表中是否含有相同的元素

#demo for語句解決

l = [1,2,3,55,47,23,68,98,4576]

found = false

for i in range(0,len(l) - 1):

for j in range(i + 1,len(l)):

if l[i] == l[j]:

found = true

break

if found:

break

if found:

print("找到")

else:

print("未找到")

#demo while語句解決

l = [1,2,3,55,47,23,68,98,4576]

found = false

i = 0

while found == false and i < len(l) - 1:

j = i + 1

while j < len(l) and found == false:

if l[i] == l[j]:

found = true

j = j + 1

i = i + 1

if found:

print("找到")

else:

print("未找到")

第6課 python for迴圈和while迴圈

之前學習c語言的時候,語法之類的都不是很懂,但是已經知道 3個情況 流程 1.順序 編寫 一步一步下去 執行按照上到下 2.判斷 編寫。就是 如果符合什麼條件,就做什麼。3.迴圈 編寫。符合特定條件,進行重複的事情 到了python,我們上乙個課,說了if,這裡說迴圈 你不是要問 順序 不說嗎?自己...

python for菜鳥 python for迴圈

猜數字遊戲 usr bin env python coding utf 8 age of xcn 20 for i in range 3 guess age int input guess age if guess age age of xcn print yes,you got it break ...

python for 與 range的用法

1.生成乙個0到9的序列 for x in range 0,10 print x else print 迴圈結束 2.生成乙個0到9的偶數序列 for x in range 0,10,2 print x else print 迴圈結束 3.生成乙個0到9的偶數序列並且用分隔符進行拼接 for x i...