程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

5-Python基礎編程之循環

編輯:Python

Python基礎編程之循環

  • while循環
  • for循環
  • 循環打斷
  • 循環嵌套
  • Pass語句
  • 小節練習
    • 3位水仙花
    • 猜數字

概念:重復性的做某些事情。
使用場景:想要多次重服執行某些操作;想要遍歷一個集合等。
實現:while和for兩種方式循環。

while循環

語法1

while 條件:
條件滿足時的執行條件


語法2

while 條件:
條件滿足時的執行條件
else:
條件不滿足時,執行的代碼


例子

num=0
while num<10:
num+=1
print(num)
else:
print(num)# num一定是10
print("循環已結束")

for循環

語法1

for x in xxx:
循環語句
# 通常xxx是一個集合,x會取出集合中的每一個元素賦值給x
# 在循環體中可以直接使用x的值

舉個遍歷例子

pets=["小紅","小藍","小黑","小白"]
for name in pets:
print(name)

結果為:

語法2

for x in xxx:
循環語句
else:
條件不滿足執行的語句
# 通常xxx是一個集合,x會取出集合中的每一個元素賦值給x
# 在循環體中可以直接使用x的值

注意:沒有被打斷的循環才會跳轉else,即沒有使用break(下面將會講)

例1:反轉字符串

notice='Python基礎編程之循環'
# 拆字
result = ''
for n in notice:
result=n+result
print(result)

輸出:環循之程編礎基nohtyP

例2:打印1-100之間的偶數

for num in range(2,101,2):
print(num)

range參數:左閉右開,先首後尾最後為方差

循環打斷

break

打斷本次循環,跳出整個循環

for i in range(1,11):
if i==5:
break
print(i)

只打印1-5

continue

結束本次循環,繼續執行下次循環

for i in range(1,11):
if i==5:
continue
print(i)

只不打印5

例:加法器(1-100間)

做一個簡單加法器,用戶輸入兩個數值,輸出對應的和,按q退出;若用戶不退出程序則輸出完成後繼續使用;若中間用戶輸入的數據有誤則給出錯誤提示並從頭開始。

while True:
num1 = eval(input("請輸入第一個數值:"))
num2 = eval(input("請輸入第二個數值:"))
if num1>100 or num2>100:
print("你輸入的數據有問題,請重新輸入")
continue
result = num1+num2
print("你的計算結果是:",result)
isQ = input("是否想要退出(q:退出,其它:不退出,繼續)")
if isQ=='q':
break

輸出:

循環嵌套

循環嵌套條件

# 取1-100內可以整除3的數
for num in range(1,101):
if num%3==0:
print(num)

循環嵌套循環

外層循環執行一次,內層循環執行全部

for i in range(1,5):
for j in range(1,3):
print(j)

例子:九九乘法表

for num in range(1,10):
for n in range(1,num+1):
print("%d*%d=%d"%(n,num,n*num),end="\t")
print()

輸出:

Pass語句

概念:pass語句是空語句,不做任何事情一般用作占位語句
作用:保持程序結構的完整性

age = 18
if age>18:
pass
else:
pass

還不知道內部內容但是可以先寫結構通過pass驗證是否正確

小節練習

3位水仙花

要求對三位數值驗證,只需要驗證是不是三位數值就可
百位的3次方+十位的3次方+個位的3次方=數值本身,如153=13+53+3**3
注:暫不考慮輸入內容不是數字的情況

# 1.用戶輸入數值
num = eval(input("請輸入一個三位數值:"))
# 2.數據有效性驗證
if not(100<=num<=999):
print("你輸入的數據無效")
exit()
# 3.判定是否為水仙花
baiwei = num//100
shiwei = num%100//10
gewei = num%10
result = (baiwei**3 + shiwei**3 + gewei**3 == num)
# 4.輸出結果
if result:
print("%d,是水仙花數"%num)
else:
print("%d,不是水仙花數"%num)

猜數字

要求程序給定一個數字,然後讓用戶來猜,如果相等則代表正確,不相等,則給出提示是大了還是小了。

# 1.准備數據
num=550
count=0
# 2.數據處理
while True:
result = eval(input("請輸入值:"))
count+=1
if result == num:
print("恭喜你答對了,答案是%d,你總共猜了%d次"%(result,count))
break
if result>num:
print("猜的有點大了")
else:
print("猜的有點小了")


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved