一 條件分支
1 python的比較運算子

2 python的條件分支語法
- 語法格式:
- if條件:
- 條件為(True)真執行的操作
- else:
- 條件為假(False)執行的操作
- 跟其他語言的區別:
- if和else判斷陳述句后面必須要有冒號(其它語言沒有)
- 執行體的內容不需要用花括號擴起來,所以必須嚴格保持縮進正確(其它語言需要用花括號把每個判斷陳述句下要執行的內容擴起來)
二 while回圈
1 python的while回圈語法
- 語法格式:
- while條件:
- 條件為真(True)執行的操作
- 跟其他語言的區別:
- 判斷條件后面必須有冒號
- 執行體的內容不需要用花括號擴起來,所以必須嚴格保持縮進正確
2 and 邏輯運算子
- 定義:python的and邏輯運算子可以將任意運算式連接在一起,并得到一個布爾型別的值
- 格式:運算式1 and 運算式2
- 運算式3 & 運算式4
- 功能:當and兩邊的運算式的值都為真時,最終的結果才為真;只要有一個運算式的值為假,最終的結果就為假
三 random模塊中的randint()函式
1 模塊的匯入:import random
2 randint()函式的功能:回傳一個隨機的整數
四 程式代碼及運行結果
1 程式代碼:
1 import random 2 secret = random.randint(1,10) 3 4 print("----------我愛魚C作業室----------") 5 print("本次游戲只有三次機會哦^_^") 6 temp = input("不防猜一下小甲魚現在心里想的是那個數字:") 7 guess = int(temp) 8 count = 1 9 if guess != secret: 10 while (guess != secret) and (count <= 2): 11 temp = input("哎呀,猜錯了,請重新輸入吧:") 12 guess = int(temp) 13 if guess == secret: 14 print("我草,你是小甲魚心里的蛔蟲嗎?!") 15 print("哼,猜中了也沒有獎勵!") 16 else: 17 if guess > secret: 18 print("哥,大了大了~~~") 19 else: 20 print("嘿,小了小了!!!") 21 count = count + 1 22 print(f"您一共猜了{count}次") 23 else: 24 print("我草,你是小甲魚心里的蛔蟲嗎?!") 25 print("哼,猜中了也沒有獎勵!") 26 print("游戲結束,不玩啦^_^")
2 運行結果
PS E:\3_work\4_python\2_code\03_LittleTurtleStudio> python Game2.py ----------我愛魚C作業室---------- 本次游戲只有三次機會哦^_^ 不防猜一下小甲魚現在心里想的是那個數字:8 哎呀,猜錯了,請重新輸入吧:5 嘿,小了小了!!! 您一共猜了2次 哎呀,猜錯了,請重新輸入吧:9 哥,大了大了~~~ 您一共猜了3次 游戲結束,不玩啦^_^ PS E:\3_work\4_python\2_code\03_LittleTurtleStudio> python Game2.py ----------我愛魚C作業室---------- 本次游戲只有三次機會哦^_^ 不防猜一下小甲魚現在心里想的是那個數字:9 我草,你是小甲魚心里的蛔蟲嗎?! 哼,猜中了也沒有獎勵! 游戲結束,不玩啦^_^ PS E:\3_work\4_python\2_code\03_LittleTurtleStudio>
五 課后作業
(一) 測驗題答案
0. 請問以下代碼會列印多少次“我愛魚C!”
while 'C': print('我愛魚C!')
死回圈,會一直列印“我愛魚C!”(嗯,這也算是永遠支持魚C的方法之一),直到崩潰或者用戶按下快捷鍵 CTRL + C(強制結束),造成死回圈的原因是 while 后邊的條件永遠為真(True)
在 Python 看來,只有以下內容會被看作假(注意冒號括號里邊啥都沒有,連空格都不要有!):False、None 、0、 "、" ''、 ()、 [] 、{},其他一切都被解釋為真!
不妨試試:
while '': print('進入回圈') print('退出回圈')
或者
while False: print('進入回圈') print('退出回圈')
或者
while 0: print('進入回圈') print('退出回圈')
1. 請問以下代碼會列印多少次“我愛魚C!”
i = 10 while i: print('我愛魚C!') i = i - 1
會列印 10 次,
2. 請寫出與 10 < cost < 50 等價的運算式
(10 < cost) and (cost < 50)
3. Python3 中,一行可以書寫多個陳述句嗎?
可以,陳述句之間用分號隔開即可,不妨試試:
>>> print('I love fishc');print('very much!')
4. Python3 中,一個陳述句可以分成多行書寫嗎?
可以,一行過長的陳述句可以使用反斜杠或者括號分解成幾行,不妨試試:
>>> 3 > 4 and \ 1 < 2
或者
>>> ( 3 > 4 and
1 < 2 )
5. 【該題針對有C或C++基礎的朋友】請問Python的 and 運算子 和C語言的 && 運算子 有何不同?
有圖有真相(C\C++ VS Python):
VS
>
6. 聽說過“短路邏輯(short-circuit logic)”嗎?
邏輯運算子有個有趣的特性:在不需要求值的時候不進行操作,這么說可能比較“高深”,舉個例子,運算式 x and y,需要 x 和 y 兩個變數同時為真(True)的時候,結果才為真,因此,如果當 x 變數得知是假(False)的時候,運算式就會立刻回傳 False,而不用去管 y 變數的值,
這種行為被稱為短路邏輯(short-circuit logic)或者惰性求值(lazy evaluation),這種行為同樣也應用與 or 運算子,這個后邊的課程小甲魚會講到,不急,
實際上,Python 的做法是如果 x 為假,運算式會回傳 x 的值(0),否則它就會回傳 y 的值(例子參考樓上那題),
(二) 動動手答案:
0. 完善第二個改進要求(為用戶提供三次機會嘗試,機會用完或者用戶猜中答案均退出回圈)并改進視頻中小甲魚的代碼,
需要注意的地方在代碼中已經注釋!
import random times = 3 secret = random.randint(1,10) print('------------------我愛魚C作業室------------------') # 這里先給guess賦值(賦一個絕對不等于secret的值) guess = 0 # print()默認是列印完字串會自動添加一個換行符,end=" "引數告訴print()用空格代替換行 # 嗯,小甲魚覺得富有創意的你應該會嘗試用 end="JJ"? print("不妨猜一下小甲魚現在心里想的是哪個數字:", end=" ") while (guess != secret) and (times > 0): temp = input() guess = int(temp) times = times - 1 # 用戶每輸入一次,可用機會就-1 if guess == secret: print("我草,你是小甲魚心里的蛔蟲嗎?!") print("哼,猜中了也沒有獎勵!") else: if guess > secret: print("哥,大了大了~~~") else: print("嘿,小了,小了~~~") if times > 0: print("再試一次吧:", end=" ") else: print("機會用光咯T_T") print("游戲結束,不玩啦^_^")
1. 嘗試寫代碼實作以下截圖功能:

temp = input('請輸入一個整數:') number = int(temp) i = 1 while number: print(i) i = i + 1 number = number - 1
2. 嘗試寫代碼實作以下截圖功能:

temp = input('請輸入一個整數:') number = int(temp) while number: i = number - 1 while i: print(' ', end = '') i = i - 1 j = number while j: print('*', end = '') j = j - 1 print() number = number - 1
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/109005.html
標籤:Python
上一篇:初探numpy——陣列的創建
