今天講的是條件判斷,循環,以及嵌套語句。
判斷語句
和C、Java一樣if判斷語句,不過else if在Python中變成了elif。if後面的條件如果爲True那就執行裏面的語句,爲False就不執行裏面的語句。注意:True不單單代表這個單詞,3<4也是True,1 == 1也是True。
條件嵌套的話就是if裏面再if,多層判斷。現在我們來實現這個函數(懶得畫,用表格來表示了)
x | y |
---|---|
<0 | -1 |
=0 | 0 |
>0 | 1 |
number = input("請輸入一個數字:")
if number > 0:
print("1")
elif number < 0:
print("-1")
else:
print("0")
對於else,大家要注意這一點
當然,Python中的else功能更多。else還可以單獨使用,不一定就是像C和Java那樣必須在if和else if配套出現,比如else還可以與for搭配。感興趣的可以自己嘗試一下或者自行百度Google,這裏我們就簡單提一下。
循環語句
Python裏面也有for循環和while循環。
for循環
類似Java裏面for-each循環,用一個形參來使用for方法。
# for循環
string = "abcdefg"
length = len(string)
for i in range(0, length, 2):
print(string[i], end='') # 實現每隔一個字符輸出string裏的字符
while循環
while和if一樣,後面的條件每次循環開始前都會判斷是否爲True,是則執行循環內語句,否則跳過。eg:輸出10個1,我們可以寫
temp = 0
while temp<10:
print(1)
temp += 1 # temp=temp+1 等同於 temp+=1
# 同理,temp*=10 就是 temp=temp*10
現在我們寫一個簡單的猜數字程序,一開始設定數字,然後猜數字,嗯,很蠢,後面我們再升級一下
# while循環
num = 50 # 建議num = 49,用二分法猜數字,可以更有感覺= =
while True:
number = int(input("猜一個數字(1到100):"))
if number == num:
print("猜對了!")
break
elif number > num:
print("猜大了!")
print("再猜一下")
else:
print("猜小了!")
print("再猜一下")
print("程序結束!")
while和for循環可以互換
list_1 = "abcd"
for i in list_1:
print(i, end='') # 列表遍歷
print() # 輸出回車
i = 0
while i < len(list_1):
print(list_1[i], end='') # 列表遍歷
i += 1
random模塊
現在我們來做一個升級版的猜數字遊戲,要猜的數字隨機生成,讓猜數字程序更加完善。
這裏我們簡單介紹一下random模塊。先說我們這裏用到的random模塊中的randint方法,用.運算來調用randint方法,括號裏面填一個範圍,eg:number = random.randint(1,2),那number就只會有1或者2兩個值
random模塊裏還有一些其他的功能,有興趣的可以自己百度Google一下。我們後面可能的文章可能會詳細說。
import random # 導入random模塊
num = random.randint(1,100) # 要猜的隨機數
n = 0 # 猜的次數
while True: # 死循環,進入程序
number = int(input("請輸入1至100的數字:"))
if number > num:
print("猜大了,再猜一次吧!")
elif number < num:
print("猜小了,再猜一次吧!")
else:
print("你只花了{}次就猜對了!真棒!".format(n))
break # 猜對就跳出循環
print("程序結束!")