Python 從入門到精通 學習筆記 Day03

Python 從入門到精通 第三天

在這里插入圖片描述

今日目標

流程控制語句、退出循環、練習學習的內容

一、流程控制語句

流程控制的三種方式:順序語句、雙分支語句、循環語句

雙分支語句

Python 的雙分支語句使用if-else語句實現。
其語法結構如下:

if條件:#如果條作為真,執行這個代碼塊
else:#如果條性為假,執行這個代碼塊

其中,條件是一個布爾表達式,如果它的結果為True,則執行第一個代碼塊,否則執行第二個代碼塊。
在Python中,代碼塊使用縮進來表示,因此需要注意代碼塊的縮進量。
通常使用四個空格來表示一個縮進級別。

# 獲取用戶輸入的年齡
age = int(input("請輸入您的年齡:"))# 判斷是否可以去網吧上網
if age >= 18:print("您可以去網吧上網")
else:print("您未滿18歲,不能去網吧上網")

多分支語句

在Python中,多分支語句通常使用if-elif-else語句實現。它的語法結構如下:
if 條件1:#如果條件1為真,執行這個代碼塊
elif 條件2:#如果條件1為假,且條件2為真,執行這個代碼塊。
elif 條件3:#如果條件1和條件2都為假,且條件3為真,執行這個代碼塊。
else:#如果所有條件都為假,執行這個代碼塊。
# 獲取用戶輸入的身高和體重
height = float(input("請輸入您的身高(單位:米):"))
weight = float(input("請輸入您的體重(單位:千克):"))
# 計算BMI并輸出結果
bmi = weight / (height ** 2)
print(f"您的BMI指數為{bmi}")# 根據BMI范圍輸出建議
if bmi < 18.5:print("您的體重過輕,請增加營養攝入并進行適當活動。")
elif bmi < 24:print("您的體重正常,請繼續保持。")
elif bmi < 28:print("您的體重過重,請注意控制飲食并加強鍛煉。")
else:print("您的體重嚴重超標,請及時咨詢醫生。")

分支嵌套

# 獲取用戶輸入的身份證號碼
id_nmuber = input("請輸入您的身份證號碼:")# 判斷身份證號碼是否為18位
if len(id_nmuber)!=18:print("您的身份證號碼不是18位,請重新輸入。")
else:# 獲取身份證號碼的前6位和倒數第二位native_place_code = id_nmuber[:6]gender_code = int(id_nmuber[-2])# 判斷籍貫if native_place_code == "370600":print("您的籍貫是山東省。")elif native_place_code =="110000":print("您的籍貫是北京市。")elif native_place_code == "120000":print("您的籍貫是天津市。")elif native_place_code == "310000":print("您的籍貫是上海市。")elif native_place_code == "500000":print("您的籍貫是重慶市。")else:print("您的籍貫是其他城市。")#判斷性別if gender_code % 2 == 0:print("您的性別是女性。")else:print("您的性別是男性。")

循環語句

循環語句是一種編程語言的控制結構,用于在程序中重復執行—段代碼,直到滿足特定條件為止。
循環語句可以幫助程序員簡化重復性的任務,提高代碼的可讀性和效率。

while循環

while循環用于在條件為真的情況下重復執行一段代碼,直到條件變為假為止。
以下是while循環的語法:

while條件:循環體

在執行while循環時,程序會先檢查條件是否為真。
如果條件為真,就執行循環體中的代碼,然后再次檢查條件。
如果條件仍為真,就再次執行循環體中的代碼,以此類推,直到條件變為假為止。

# 使用while循環打印10次“hello world"
count = 0
while count < 10:print("hello world")count += 1

for循環

for循環用于對一個序列(如字符串、列表、元組等)中的元素進行遍歷和操作,直到序列中的所有元素都被遍歷為止。
以下是for循環的語法:

for 變量 in 序列:循環體

在執行for循環時,程序會依次將序列中的每個元素賦值給變量,并執行循環體中的代碼,直到序列中的所有元素都被遍歷完為止。

以下是使用for循環打印10次"hello world"的代碼示例:

# 使用for循環打印10次“hello world”
for i in range(10):print("hello world")
驗證碼案例
import random
import string# 定義可選字符集
characters = string.ascii_uppercase = string.digits# 生成五位隨機驗證碼
code = ""
for i in range(5):code += random.choice(characters)
print(code)
累加和案例
# 定義變量sum并初始化為0
sum = 0# 使用for循環將1到100的數相加
for i in range(1, 101):sum += i# 輸出結果
print("1到100的和為:", sum)
sum = 0
for i in range(1, 101):if i % 2 == 0:sum += iprint("1到100中所有偶數的和為:", sum)

循環語句嵌套分支語句

print("歡迎來到游戲世界!")
while True:print("請選擇您要進行的操作:")print("1.攻擊敵人")print("2.購買道具")print("3.逃跑")choice = input("請選擇操作(輸入數字1,2,3):")if choice == "1":print("您發起了攻擊,打敗了敵人!")elif choice == "2":print("您購買了一件道具,增強了自己的能力!")elif choice == "3":print("您逃跑了,但是被追上了!")else:print("您的輸入無效,請重新輸入")continueconfirm = input("是否繼續游戲?(輸入y或n):")if confirm == "n":print("游戲結束,謝謝參與!")break
# 九九乘法表
for i in range(1,10):for j in range(1,i+1):print(f"{j} * {i} = {i * j}",end="\t")print()

編寫一個Python程序,輸出一個nx n的方陣,其中第i行第j列的格子中應該填寫i+j的結果。
要求:
輸入n的值,保證是一個正整數。
要求輸出的方陣中每個格子的寬度都為4個字符,格子之間用制表符分隔。
輸出的方陣中每行的末尾不能有多余的制表符。
輸出的方陣中每行的末尾必須有一個換行符。

def print_matrix(n):for i in range(1, n + 1):for j in range(1, n + 1):# 格式化每個格子的內容為4個字符寬度cell = "{:4d}".format(i + j)# 輸出格子內容,以制表符分隔print(cell, end="\t")# 每行末尾去除多余的制表符,并換行print()# 輸入n的值
n = int(input("請輸入正整數n的值:"))# 調用函數輸出方陣
print_matrix(n)

二、退出循環

在Python編程語言中,break和continue是兩個控制流語句,可以用于改變程序的執行流程。
break語句用于跳出當前的循環(for循環或while循環),使程序繼續執行循環之后的代碼,即跳出整個循環體。
例如:

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

上面的代碼將會輸出1、2、3、4,因為當i等于5時,break語句被執行,跳出整個循環。
continue語句用于結束當前的循環迭代,跳過剩余的代碼,繼續執行下一次循環迭代。
例如:

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

上面的代碼將會輸出1、2、3、4、6、7、8、9、10。
因為當i等于5時,continue語句被執行,跳過當前的迭代,直接進入下一次迭代。

三、練習學習的內容

1.假設你正在寫一個簡單的計算器程序,可以讓用戶輸入兩個數字和一個操作符,然后輸出計算結果。
你需要使用分支循環語句來實現這個程序。
假設操作符可以是加號、減號、乘號或除號,你的程序需要根據用戶輸入的操作符執行相應的計算操作,并輸出計算結果。如果用戶輸入的操作符不是加號、減號、乘號或除號,則輸出錯誤信息并讓用戶重新輸入。

while True:# 用戶輸入兩個數字和一個操作符num1 = float(input("請輸入第一個數字:"))num2 = float(input("請輸入第二個數字:"))operator = input("請輸入操作符(+、-、*、/):")# 根據操作符執行相應的計算操作,并輸出結果if operator == '+':result = num1 + num2print("計算結果:", result)elif operator == '-':result = num1 - num2print("計算結果:", result)elif operator == '*':result = num1 * num2print("計算結果:", result)elif operator == '/':if num2 != 0:result = num1 / num2print("計算結果:", result)else:print("錯誤:除數不能為0,請重新輸入。")else:print("錯誤:無效的操作符,請重新輸入。")# 詢問用戶是否繼續計算choice = input("是否繼續計算?(y/n)")if choice.lower() != 'y':break

2.計算初始本金為1萬,年利率為0.0325的情況下,需要多少年才能將本金和利息翻倍,即本金和利息的總和達到原來的兩倍。

principal = 10000  # 初始本金
interest_rate = 0.0325  # 年利率
target_amount = principal * 2  # 目標金額years = 0  # 初始年數
while principal < target_amount:principal += principal * interest_rate  # 計算每年的利息years += 1print("本金和利息翻倍需要{}年".format(years))

3.首先,程序使用random.randint()函數產生一個1~10之間的隨機數。
然后,程序通過for循環提示玩家輸入一個猜測的數字,玩家可以輸入一個1~10之間的整數。
如果玩家猜對了數字,程序輸出恭喜玩家的信息并結束游戲;
如果玩家猜錯了,程序會根據玩家輸入的數字與隨機數之間的大小關系來提示玩家是否猜對
并在每次猜錯后告訴玩家還剩下幾次機會。
如果玩家在三次機會內猜對了數字,程序輸出恭喜玩家的信息并結束游戲;
否則程序輸出很遺憾的信息并結束游戲。

import randomrandom_number = random.randint(1, 10)  # 生成1~10之間的隨機數for _ in range(3):  # 最多猜3次guess = int(input("請輸入一個1~10之間的整數:"))if guess == random_number:print("恭喜你,猜對了!")breakelif guess < random_number:print("猜錯了,你猜的數字太小了。")remaining_chances = 2 - _if remaining_chances > 0:print("還剩下{}次機會。".format(remaining_chances))else:print("很遺憾,你沒有猜對。正確答案是{}。".format(random_number))else:print("猜錯了,你猜的數字太大了。")remaining_chances = 2 - _if remaining_chances > 0:print("還剩下{}次機會。".format(remaining_chances))else:print("很遺憾,你沒有猜對。正確答案是{}。".format(random_number))

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/207059.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/207059.shtml
英文地址,請注明出處:http://en.pswp.cn/news/207059.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Facebook廣告報告指標CPC

在Facebook廣告中&#xff0c;CPC可以作為一個關鍵指標來評估廣告效果和投資回報。較低的CPC意味著廣告主能以更低的價格獲得更多的點擊量&#xff0c;從而降低廣告投放成本。而較高的CPC可能暗示著廣告主需要更大的預算才能獲得相同數量的點擊。本文小編將講講Facebook廣告報告…

k8s上安裝KubeSphere

安裝KubeSphere 前置環境安裝nfs-server文件系統配置nfs-client配置默認存儲創建了一個存儲類metrics-server集群指標監控組件 安裝KubeSphere執行安裝查看安裝進度 前置環境 下載配置我都是以CentOS 7.9 安裝 k8s(詳細教程)文章的服務器作為示例&#xff0c;請自行修改為自己的…

2024年軟考科目怎么選?(選科指引)

新手在準備報考軟考時&#xff0c;都會遇到這樣的一個問題——科目這么多&#xff0c;我適合考什么&#xff1f;要想知道自己適合報什么科目&#xff0c;就需要了解每個科目是什么&#xff0c;考什么等一系列的問題。今天給大家分享一下。 軟考包含什么科目&#xff1f; 軟考…

facebook廣告相比谷歌廣告的優勢

Facebook廣告相比谷歌廣告的優勢主要體現在以下方面&#xff1a; 用戶數據豐富&#xff1a;Facebook擁有龐大的用戶數據&#xff0c;包括人口、興趣、行為等多個維度&#xff0c;這些數據可以幫助廣告主更準確地定位到目標受眾。相比之下&#xff0c;谷歌廣告的用戶數據相對較…

android快速網絡請求之android-networking

今天介紹一個知道的人不多的庫&#xff0c;寫個簡單的頁面什么的。用起來很爽&#xff1f;如果你疑惑那么多開源的網絡庫為啥不用&#xff1f; 因為這個簡單方便。拿來就用。經過這幾天的實踐。確實可以。推薦一下 如果你需要 GITHUB 首先。引入依賴 implementation com.ami…

MySQL 數據遷移要點

目錄 1. 相同版本的遷移 2. 不用版本的遷移 3. 不同數據庫的遷移 數據庫遷移就是把數據從一個系統移動到另一個系統上&#xff0c;遷移過程其實就是在源數據庫備份和目標數據庫恢復的過程組合。遷移的原因是多種多樣的&#xff0c;比如&#xff1a; 需要安裝新的數據庫服務…

elasticsearch中LessThen遇到的坑

開發中&#xff0c;使用到LessThen-小于某個參數的邏輯查詢&#xff0c;如下&#xff1a; /// <summary> /// 查詢狀態已發布&#xff08;狀態小于2&#xff09;的政策要聞分頁 /// </summary> /// <param name"input"></param> /// <re…

使用OkHttp上傳本地圖片及參數

下面以一個例子來講解在項目中如何使用OKHttp來對本地圖片做個最簡單的上傳功能&#xff0c;基本上無封裝&#xff0c;只需要簡單調用便可&#xff08;對于OKHttp的引入不再單獨做介紹&#xff09;。 1&#xff1a;構建上傳圖片附帶的參數&#xff08;params&#xff09; Map…

2.vue學習筆記(目錄結構+模板語法+屬性綁定)

1.目錄結構 1.vscode ——VSCode工具的配置文件夾 2.node_modules ——Vue項目的運行依賴文件夾 3.public ——資源文件夾&#xff08;瀏覽器圖標&#xff09; 4.src ——源碼文件夾 5..gitgnore ——git忽略文件 6.index.html ——如果html文件 7.package.json —…

基于SpringBoot+Vue學生成績管理系統前后端分離(源碼+數據庫)

一、項目簡介 本項目是一套基于SpringBootVue學生成績管理系統&#xff0c;主要針對計算機相關專業的正在做bishe的學生和需要項目實戰練習的Java學習者。 包含&#xff1a;項目源碼、數據庫腳本等&#xff0c;該項目可以直接作為bishe使用。 項目都經過嚴格調試&#xff0c;確…

ElasticSearch中的分析器是什么?

在Elasticsearch中&#xff0c;分析器&#xff08;Analyzer&#xff09;是一個用于文本分析的重要組件。它定義了如何將文本分解成單詞和子詞&#xff0c;這對于索引和搜索是非常重要的。 在Elasticsearch中&#xff0c;分析器定義了如何將文本轉換為可以被索引和搜索的形式。…

虛幻學習筆記10—C++函數與藍圖的通信

一、前言 除了上一章C變量與藍圖通信講的變量能與藍圖通信外&#xff0c;還有函數和枚舉也可以和藍圖通信。函數的關鍵字為”UFUNCTION“、枚舉的關鍵字為”UENUM“。 二、實現 2.1、BlueprintCallable藍圖中調用 該函數時帶執行的&#xff0c;帶入如下。編譯成功后在藍圖中輸…

macOS 獲取文件夾大小

macOS 獲取文件夾大小 獲取文件夾大小的擴展如下&#xff1a; extension URL {var fileSize: Int? { // in bytesdo {let val try self.resourceValues(forKeys: [.totalFileAllocatedSizeKey, .fileAllocatedSizeKey])return val.totalFileAllocatedSize ?? val.fileAll…

來自Sui的溫馨建議:保護您的Web3私鑰

當您安裝一個錢包并創建Sui賬戶時&#xff0c;錢包包含一個公鑰和一個私鑰。保護好私鑰的安全非常重要&#xff0c;從而可以保護您的Sui資產&#xff0c;包括錢包中的任何tokens。 公鑰加密技術是幾十年前開發的&#xff0c;是當今互聯網上大多數安全交易的基礎&#xff0c;包…

Navicat Premium 16 for Mac/Windows:高效的數據庫開發工具

Navicat Premium 16是一款功能強大的數據庫開發工具&#xff0c;為開發人員提供了全面的工具和功能&#xff0c;幫助他們更高效地進行數據庫開發和管理。不論是初學者還是專業開發人員&#xff0c;Navicat Premium 16都能滿足他們的需求&#xff0c;并提供直觀、易用的界面。 …

【深度學習】AlexNet網絡實現貓狗分類

【深度學習】AlexNet網絡實現貓狗分類 AlexNet簡介 AlexNet是一種卷積神經網絡&#xff08;Convolutional Neural Network&#xff0c;CNN&#xff09;模型&#xff0c;它在2012年的ImageNet圖像分類挑戰賽中取得了重大突破&#xff0c;引發了深度學習在計算機視覺領域的熱潮…

為“異常”努力是值得的

異常是OO語言處理錯誤的方式,在C中&#xff0c;鼓勵使用異常。侯捷再書中談起異常&#xff0c;“十年前撰寫“未將異常考慮在內的”函數是為一種美好實踐&#xff0c;而今我們致力于寫出“異常安全碼”。”可見異常安全的重要。 說起異常安全&#xff0c;首先就要是異常的出現…

Leetcode—213.打家劫舍II【中等】

2023每日刷題&#xff08;五十二&#xff09; Leetcode—213.打家劫舍II 算法思路 實現代碼 class Solution { public:// 左閉右開int rob1(vector<int>& nums, int start, int end) {int n nums.size();int f0 0, f1 0, new_f 0;for(int i start; i < end…

pytorch學習入門之 Variable(變量)

Variable(變量) autograd.Variable 是包的核心類. 它包裝了張量, 并且支持幾乎所有的操作. 一旦你完成了你的計算, 你就可以調用 .backward() 方法, 然后所有的梯度計算會自動進行. 你還可以通過 .data 屬性來訪問原始的張量, 而關于該 variable(變量)的梯度會被累計到 .…

初識 OpenCV

初識 OpenCV 簡介 OpenCV&#xff08;Open Source Computer Vision Library&#xff09;是一個涵蓋了數百種計算機視覺算法的開源算法庫。 OpenCV 具有模塊化結構&#xff0c;這意味著該軟件包包含多個共享或靜態庫。其中包含以下模塊&#xff1a; Core functionality (core…