在一開始初學的時候,最早接觸的便是 if 語法
if看似簡單卻有許多巧妙的邏輯在其中,因此在設計時要特別注意
a = 90
if a >= 90:
print(1)
elif a >= 80:
print(2)
else:
print(3)
if elif else 含有多選一的概念與排除法,上方程式運行時,先判斷a有沒有符合if條件,有就跳出1,沒有的話再判斷elif,所以當我輸入a=80會跳出 2,沒符合if 也沒符合elif 就會跳出3當然你也可以獨立事件的運作
if a >= 70:
print(4)
if a >= 60:
print(5)
這樣 只要大於60,就會同時顯示4 跟 5
而錯誤的設計如下
if a >= 70:
print(6)
elif a >= 80:
print(7)
因為第一條的if,就已經(jīng)把大於70的判斷掉了,所以大於80的情況就會直接考慮if 而不是elif的條件
不論輸入任何數(shù)都不會顯示 7 (如果你輸入小於70的數(shù),6 7 都不會顯示)
n=input("請輸入年齡\n")
if int(n)>5:
time=int(input("請問這是第幾次參加此大賽\n")) #第二個input要寫在while裡面
if time<5:
print("恭喜您,您符合本大賽的參賽資格。”)
else:
print("很抱歉,您參加太多次了,請把機會留給別人。”))
else:
print("您不符合參加年齡")
輸入畫面
請輸入年齡
10
請問這是第幾次參加此大賽
3
恭喜您,您符合本大賽的參賽資格。
請輸入年齡
3
您不符合參加年齡
關於從1加到n (要顯示出來過程)
n = int(input())
sum1 = 0
for i in range(1,n+1):
sum1 += i
print(i,end='')
#如果 這次(i)的迴圈 不是最後一次(n)的話
if i!=n:
print('+',end='') #就印出+號
else:
print(' =',sum1)
有趣的是還有另一種寫法,就是1後面的數(shù)字才有+號,所以可以寫成
n = int(input())
sum1 = 1
print(sum1,end='') #避免換行
for i in range(2,n+1): #從2開始
sum1 += i
print('+',end='') #數(shù)字前先印出+號
print(i,end='')
else:
print(' =',sum1)
在撰寫while的程式,設計邏輯不推薦直接用while True,無窮回圈的效果雖好,但不知道while終止條件,還要去程式串裡面找break的條件
for也可以用巢狀迴圈
例如輸出n*n的星號
n=int(input())
for i in range(n):
for j in range(n):
print("*",end=" ")
print()
透過改變range 可以做到,各種圖案的輸出
但之後也會利用格式化來進行對齊
h = int(input())
for i in range(h):
print(("*"*(i+1)).rjust(h)) # "*" 是重複的符號 然後*(乘上) i+1次 靠右對齊h格(字元)
輸入4可以得到下圖
while 的語法必須熟記的
while內(nèi)如果break就直接結(jié)束,不會進到else
contiue則可以"略過"後面的條件重頭開始
常用寫法,如果想讓使用者輸入一串內(nèi)容,然後直到輸入q,輸出結(jié)果
n=input()
while n!="q":
n=input()
print(n)
先這樣