Day04 分支和迴圈

2021-10-08 18:24:20 字數 4957 閱讀 1556

順序結構:**從上往下依次執行

分支結構:根據不同的條件,執行不同的語句

迴圈結構: 根據指定的條件,重複執行某段**

語法:if 表示式:

執行語句

說明;要麼執行,要麼不執行,當表示式成立的之後,則執行語句;如果表示式不成立,則直接跳過整個if語句繼續執行後面的**

#單分支

num1 = 50

num2 = 60

#需求:當num1 == num2,則給num1重新賦值為100

#在python中,通過縮進來區分**塊

if num1 != num2:

num1 = 100

print(num1)

#練習:從控制台輸入乙個數,判斷這個數是否是偶數

num = int(input())

if num % 2 == 0:

print(num,"是乙個偶數")

print(num,"不是乙個偶數")

語法:

if 表示式:

執行語句1

else:

執行語句2

說明:如果表示式成立,則執行語句1;如果不成立,則執行語句2

#雙分支

# 從控制台輸入乙個數,判斷這個數是否是偶數

num = int(input())

if num % 2 == 0:

print(num,"是乙個偶數")

else:

print(num,"不是乙個偶數")

#練習:從控制台輸入乙個數字,根據數字列印年齡段

age = int(input())

if age >= 18:

print("成年人")

else:

print("未成年人")

說明:實現了多選一的操作,會根據不同的條件從上往下來進行匹配,如果匹配上了,則執行對應的語句,然後直接結束整個if-elif語句,但是,如果所有的條件都不成立的話,則執行else後面的語句注意:不管if-elif-else有多少個分支,都只會執行其中的乙個分支

根據控制台輸入的成績,輸出對應的等級

"""90以上:優秀

80~90:良好

70~80:還行

70以下:加油吧,少年

"""score = int(input("請輸入學生的成績:"))

if score >= 90:

print("優秀")

elif score >= 80:

print("良好")

elif score >= 70:

print("還行")

else:

print("")

語法:

if 表示式1:

執行語句1

if 表示式2:

執行語句2

說明:if語句的巢狀,可以在單分支,雙分支,多分支之間進行任意組合

**演示:

score = int(input("請輸入學生的成績:"))

if score < 0 or score > 100:

print("輸入有誤")

else:

if score >= 90:

print("優秀")

elif score >= 80:

print("良好")

elif score >= 70:

print("還行")

else:

print("")

age = int(input("請輸入年齡:"))

looks = input("請輸入您的相貌:")

if age >= 18:

if looks == "美女":

else:

print("略過")

注意:從語法角度來說,巢狀的層數沒有任何的限制,但是,為了**的可讀性和可維護性,巢狀層數不要超過3層

語法:初始化表示式

while 條件表示式:

迴圈體迴圈之後操作表示式

for 變數名 in 序列:

迴圈體

#range()

"""range([start,]end[,step])

l例如:

range(100) 可以生成乙個0~99的整數序列【不包含100】

range(1,100) 可以生成乙個1~99的整數序列

range(1,100,2) 可以生成乙個1~99之間的奇數序列

"""#需求1:計算1~100之間所有整數的和

num1 = 1

sum1 = 0

while num1 <= 100:

sum1 += num1

num1 += 1

sum11 = 0

#借助於range生成乙個1~100之間所有整數的序列,然後使用for迴圈進行遍歷這個序列

for x in range(1,101):

sum11 += x

#需求2:計算1~100之間所有偶數的和

num2 = 1

sum2 = 0

while num2 <= 100:

if num2 % 2 == 0:

sum2 += num2

num2 += 1

num2 = 0

sum2 = 0

while num2 <= 100:

sum2 += num2

num2 += 2

sum22 = 0

for y in range(0,101,2):

sum22 += y

#while實現

line = 1

while line <= 9:

colum = 1

while colum <= line:

print("%dx%d=%d"%(colum,line,line*colum),end=" ")

colum += 1

print("")

line += 1

#for實現

#外層迴圈:控制行

for i in range(1,10):

#內層迴圈:控制列

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

print("%dx%d=%d"%(j,i,i*j),end=" ")

print("")

作用:跳出迴圈【直接跳出整個迴圈,繼續執行迴圈後面的**】

#break的使用

#1.while

n = 0

while n < 5:

print("n = %d"%(n))

#print("n =" ,n)

#注意:if語句充當的是乙個條件判斷

if n == 3:

break

n += 1

print("over")

#2.for

for x in range(1,6):

print("x = %d"%(x))

if x == 3:

break

#結論:不管是while語句還是for語句,break的作用結束整個迴圈

#3.特殊情況一

#不管while中的條件是否滿足,else分支都會被執行

#思考問題:如果在while迴圈體**現了break,else分支還會執行嗎?-------不會

m = 0

while m < 3:

print(m)

if m == 1:

break

m += 1

else:

print("else")

#4.特殊情況二

#當break使用在巢狀迴圈中的時候,結束的是當前迴圈【就近原則】

x = 0

y = 0

while x < 20:

print("hello python",x)

x += 1

while y < 5:

print("hello python~~~~",y)

if y == 2:

break

y += 1

#break

#注意:break是乙個關鍵字,使用的過程中,單獨就可以成為一條語句,後面不能跟任何的變數或者語句

#continue的使用

#1.for

for i in range(10):

print(i)

if i == 3:

continue

print("*")

for i in range(10):

print(i)

if i == 3:

break

print("*")

#總結:continue只是結束當前正在執行的迴圈,而break表示直接結束整個迴圈

# 2.while

"""num = 0

while num < 10:

print("num = %d"%(num))

num += 1

if num == 3:

continue

"""num = 0

while num < 10:

if num == 3:

num += 1

continue

print("num = %d" % (num))

num += 1

python中的pass是一條空語句

作用:為了保持**結構的完整性,pass不做任何操作,只是充當了乙個佔位語句,保證**可以正常的執行起來

應用場景:if,while,for中使用,可以在**塊的部分不新增任何語句,**正常執行

while true:

pass

print("over")

day 04 鍵盤輸入和分支迴圈語句

1.new乙個scanner類 scanner scanner newscanner system.in 2,使用scanner類 scanner.方法 3.關閉鍵盤輸入 scanner.close 例項 獲得輸入的字串 宣告名字變數 string name 開啟鍵盤輸入 scanner scann...

Day04 迴圈結構

如果在程式中我們需要重複的執行某條或某些指令,例如用程式控制機械人踢足球,如果機械人持球而且還沒有進入射門範圍,那麼我們就要一直發出讓機械人向球門方向奔跑的指令。當然你可能已經注意到了,剛才的描述中其實不僅僅有需要重複的動作,還有我們上乙個章節講到的分支結構。再舉乙個簡單的例子,比如在我們的程式中要...

day4 分支和迴圈

可以判斷奇偶性 流程控制 順序執行,分支結構 if 迴圈結構 for,while python中實現分支結構的只有一種if if單分支結構 雙分支結構 多分支結構 for 變數 in 序列 迴圈體讓變數去序列中取值,乙個乙個取,取完為止,每取乙個值執行乙個迴圈 練習3 統計100 200能夠被3整除...