python3基礎語法梳理(三)

接上一篇博客

🎮 猜數字小游戲 - Python版

🧠 游戲規則

  • 系統隨機生成一個 1 到 10 的整數
  • 玩家輸入猜測的數字
  • 使用 if 語句判斷玩家猜得是否正確
  • 提示“猜對了”或“太大/太小了”
import randomsecret_number = random.randint(1, 10)
attempts = 0  # 嘗試次數print("歡迎來到猜數字游戲!")
print("我已經想好了一個 1 到 10 之間的數字。")
print("快來猜一猜吧!")while True:guess = int(input("你猜多少? "))attempts += 1if guess == secret_number:print(f"🎉 恭喜你,猜對了!你總共猜了 {attempts} 次。")breakelif guess < secret_number:print("太小了,再試一次。")else:print("太大了,再試一次。")

運行結果:

歡迎來到猜數字游戲!
我已經想好了一個 110 之間的數字。
快來猜一猜吧!
你猜多少? 6
太小了,再試一次。
你猜多少? 8
太小了,再試一次。
你猜多少? 9
🎉 恭喜你,猜對了!你總共猜了 3 次。

🕹? 邏輯闖關小游戲:真假偵探

🎯 游戲說明:
你是一個偵探,需要判斷陳述是真(True)是假(False)來過關,每一關用邏輯運算符進行判斷。
? 邏輯背景知識復習:

運算符含義示例結果
and與,兩個都為真才為真True and FalseFalse
or或,一個為真就為真True or FalseTrue
not非,取反not TrueFalse
def level_1():print("Level 1: 小明說他昨天去了學校(True),小紅說他昨天在家(False)。他們說的是同一件事,都是對的嗎?")answer = input("請輸入 True 或 False:")correct = True and Falsereturn str(correct) == answerdef level_2():print("Level 2: 小剛說今天下雨(False),小華說天氣很好(True)。只要一個人說對了,我們就不帶傘。可以不帶傘嗎?")answer = input("請輸入 True 或 False:")correct = False or Truereturn str(correct) == answerdef level_3():print("Level 3: 小麗說她沒有說謊(False)。她真的沒說謊嗎?")answer = input("請輸入 True 或 False:")correct = not Falsereturn str(correct) == answerdef play_game():print("🎮 歡迎來到邏輯偵探小游戲!答對三題就通關!")if level_1() and level_2() and level_3():print("🎉 恭喜你,邏輯通關成功!")else:print("? 很遺憾,有答錯的地方,邏輯再練練吧~")play_game()

運行結果

🎮 歡迎來到邏輯偵探小游戲!答對三題就通關!
Level 1: 小明說他昨天去了學校(True),小紅說他昨天在家(False)。他們說的是同一件事,都是對的嗎?
請輸入 TrueFalseFalse
Level 2: 小剛說今天下雨(False),小華說天氣很好(True)。只要一個人說對了,我們就不帶傘。可以不帶傘嗎?
請輸入 TrueFalseTrue
Level 3: 小麗說她沒有說謊(False)。她真的沒說謊嗎?
請輸入 TrueFalseTrue
🎉 恭喜你,邏輯通關成功!

真假判斷小游戲

def comparison_game():print("🎯 比較運算符小游戲,判斷每個表達式是 True 還是 False")score = 0questions = [("5 == 5", True),("7 < 3", False),("8 != 8", False),("9 >= 6", True),("4 <= 4", True),("10 > 100", False)]for expr, correct in questions:print(f"題目:{expr}")answer = input("你認為是 True 還是 False?:")if answer.strip() == str(correct):print("? 回答正確!\n")score += 1else:print(f"? 錯了,正確答案是 {correct}\n")print(f"🎉 游戲結束,你的得分是 {score}/{len(questions)}")comparison_game()

運行結果

🎯 比較運算符小游戲,判斷每個表達式是 True 還是 False
題目:5 == 5
你認為是 True 還是 False?:True
? 回答正確!題目:7 < 3
你認為是 True 還是 False?:false
? 錯了,正確答案是 False題目:8 != 8
你認為是 True 還是 False?:False
? 回答正確!題目:9 >= 6
你認為是 True 還是 False?:True
? 回答正確!題目:4 <= 4
你認為是 True 還是 False?:True
? 回答正確!題目:10 > 100
你認為是 True 還是 False?:False
? 回答正確!🎉 游戲結束,你的得分是 5/6

🏋??♂? 控制臺小游戲:重量轉換器(Weight Converter Game)

🎯 功能說明:

  • 用戶輸入數字和單位(公斤或磅)
  • 程序轉換成另一單位并顯示
  • 用 if 語句判斷體重是否“太輕”、“正常”、“太重”
  • 循環支持多次游戲,直到用戶退出
def convert_weight(weight, unit):if unit == "kg":converted = weight * 2.20462print(f"{weight} 公斤 = {converted:.2f} 磅")if weight > 100:print("🏋??♂? 你太重了!")elif weight < 40:print("🪶 太輕了!")else:print("? 體重正常")elif unit == "lb":converted = weight / 2.20462print(f"{weight} 磅 = {converted:.2f} 公斤")if converted > 100:print("🏋??♂? 你太重了!")elif converted < 40:print("🪶 太輕了!")else:print("? 體重正常")else:print("單位無效!請輸入 'kg' 或 'lb'")print("🎮 歡迎來到重量轉換小游戲!")
print("你可以輸入一個體重數值,然后選擇單位(kg 或 lb)進行轉換。")while True:value = input("\n請輸入體重(數字):")if not value.replace('.', '', 1).isdigit():print("?? 請輸入合法數字!")continueweight = float(value)unit = input("請輸入單位(kg 或 lb):").lower()convert_weight(weight, unit)again = input("是否繼續?(y/n): ").lower()if again != 'y':print("👋 游戲結束,再見!")break

運行結果

🎮 歡迎來到重量轉換小游戲!
你可以輸入一個體重數值,然后選擇單位(kg 或 lb)進行轉換。請輸入體重(數字):90
請輸入單位(kg 或 lb):kg
90.0 公斤 = 198.42 磅
? 體重正常
是否繼續?(y/n): n
👋 游戲結束,再見!

While Loops - While 循環

i = 1
while i <= 5:print(' '*(5-i),end='')print('* ' * i)i += 1
print("Done")

輸出

    * * * * * * * * * * 
* * * * * 
Done

虛擬汽車控制游戲

import randomprint("🚗 歡迎來到虛擬汽車控制游戲!")
print("輸入 'help' 查看所有命令。\n")command = ""
started = False
speed = 0
fuel = 100
game_over = Falsedef trigger_random_event():chance = random.randint(1, 100)if chance <= 10:return "flat_tire"elif chance <= 15:return "engine_failure"return Nonewhile True:if game_over:print("💥 汽車拋錨,游戲結束。請重新啟動程序。")breakcommand = input("> ").lower().strip()if command == "start":if started:print("?? 汽車已經啟動了!")else:started = Trueprint("🔑 汽車啟動成功!準備出發!")elif command == "stop":if not started:print("?? 汽車已經停止了!")else:started = Falsespeed = 0print("🛑 汽車已停止,速度清零。")elif command == "speed up":if not started:print("🚫 請先啟動汽車才能加速!")elif fuel <= 0:print("? 沒油了!請加油后再試。")else:event = trigger_random_event()if event == "flat_tire":speed = 0print("💥 爆胎了!汽車速度歸零,請減速或停車檢查。")continueelif event == "engine_failure":started = Falsespeed = 0game_over = Trueprint("💣 引擎拋錨了!汽車無法繼續行駛。")continuespeed += 10fuel -= 10print(f"🏎? 你加速了!當前速度:{speed} km/h | 剩余油量:{fuel}")elif command == "slow down":if not started:print("🚫 請先啟動汽車才能減速!")elif speed == 0:print("?? 你已經停止了,不能再減速了。")else:event = trigger_random_event()if event == "flat_tire":speed = 0print("💥 爆胎了!汽車速度歸零,請減速或停車檢查。")continueelif event == "engine_failure":started = Falsespeed = 0game_over = Trueprint("💣 引擎拋錨了!汽車無法繼續行駛。")continuespeed -= 10if speed < 0:speed = 0print(f"🧯 你減速了。當前速度:{speed} km/h")elif command == "status":car_status = "已啟動" if started else "已停止"print(f"""
🚘 車輛狀態:
狀態:{car_status}
當前速度:{speed} km/h
油量:{fuel} / 100""")elif command == "help":print("""
======== 🆘 幫助菜單 =========
start       - 啟動汽車
stop        - 停止汽車
speed up    - 加速(10% 爆胎,5% 拋錨)
slow down   - 減速(同上)
status      - 查看汽車狀態
quit        - 退出游戲
==============================""")elif command == "quit":print("👋 再見!感謝你體驗虛擬汽車游戲!")breakelse:print("? 不認識這個命令,輸入 'help' 獲取幫助。")

運行結果

🚗 歡迎來到虛擬汽車控制游戲!
輸入 'help' 查看所有命令。> help======== 🆘 幫助菜單 =========
start       - 啟動汽車
stop        - 停止汽車
speed up    - 加速(10% 爆胎,5% 拋錨)
slow down   - 減速(同上)
status      - 查看汽車狀態
quit        - 退出游戲
==============================> start
🔑 汽車啟動成功!準備出發!
> speed up
🏎? 你加速了!當前速度:10 km/h | 剩余油量:90
> speed up
🏎? 你加速了!當前速度:20 km/h | 剩余油量:80
> speed up
🏎? 你加速了!當前速度:30 km/h | 剩余油量:70
> speed up
🏎? 你加速了!當前速度:40 km/h | 剩余油量:60
> speed up
🏎? 你加速了!當前速度:50 km/h | 剩余油量:50
> speed up
🏎? 你加速了!當前速度:60 km/h | 剩余油量:40
> speed up
🏎? 你加速了!當前速度:70 km/h | 剩余油量:30
> speed up
🏎? 你加速了!當前速度:80 km/h | 剩余油量:20
> speed up
🏎? 你加速了!當前速度:90 km/h | 剩余油量:10
> speed up
🏎? 你加速了!當前速度:100 km/h | 剩余油量:0
> speed up
? 沒油了!請加油后再試。
> slow down
🧯 你減速了。當前速度:90 km/h
> status🚘 車輛狀態:狀態:已啟動當前速度:90 km/h油量:0 / 100> 

Nested Loops - 嵌套循環

numbers = [5, 2, 5, 2, 2]
for x_count in numbers:output = ''for count in range(x_count):output += 'x'print(output)
"""
運行結果
xxxxx
xx
xxxxx
xx
xx 
"""

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

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

相關文章

【docker】將已有mysql腳本導入鏡像內使用

準備SQL腳本將SQL腳本&#xff08;如init.sql&#xff09;放在宿主機目錄下&#xff0c;例如&#xff1a;/path/to/sql-scripts/init.sql啟動MySQL容器并掛載腳本使用 -v 參數將SQL腳本掛載到容器的初始化目錄&#xff1a;docker run --name mysql-container \-e MYSQL_ROOT_PA…

【機器學習深度學習】LLamaFactory微調效果與vllm部署效果不一致如何解決

目錄 前言 一、問題本質 1.1 問題說明 1.2 問題本質示意 二、常見原因 LLaMAFactory對話模板規則定義 模型對話模板定義規則 三、解決方法 提取代碼myset.py 創建jinja文件 安裝VLLM 運行VLLM 安裝運行open webui流程 四、流程梳理 前言 本文主要講述的主要內容…

Python入門構建網頁

用純 Python 構建 Web 應用 本教程將帶你從零開始&#xff0c;構建一個交互式的待辦事項清單。 fasthtml 的核心哲學是“回歸初心&#xff0c;大道至簡”。在當今復雜的前后端分離技術棧中 &#xff0c;它提供了一條返璞歸真的路徑&#xff0c;旨在讓你能用純粹的 Python 構建從…

開源 Arkts 鴻蒙應用 開發(九)通訊--tcp客戶端

文章的目的為了記錄使用Arkts 進行Harmony app 開發學習的經歷。本職為嵌入式軟件開發&#xff0c;公司安排開發app&#xff0c;臨時學習&#xff0c;完成app的開發。開發流程和要點有些記憶模糊&#xff0c;趕緊記錄&#xff0c;防止忘記。 相關鏈接&#xff1a; 開源 Arkts …

Go的defer和recover

在 Go 語言中&#xff0c;defer 和 recover 是兩個緊密相關的關鍵字&#xff0c;主要用于錯誤處理和資源清理。它們通常一起使用&#xff0c;特別是在處理panic&#xff08;運行時崩潰&#xff09;時&#xff0c;確保程序不會直接崩潰&#xff0c;而是能夠優雅地恢復并繼續執行…

Spring Boot 配置文件常用配置屬性詳解(application.properties / application.yml)

前言 Spring Boot 的一大優勢就是通過簡單的配置文件即可快速定制應用行為&#xff0c;而無需編寫大量 XML 配置或 Java 代碼。Spring Boot 使用 application.properties 或 application.yml 作為核心配置文件&#xff0c;支持豐富的配置屬性。 本文將詳細介紹 Spring Boot 常用…

uni-appDay02

1.首頁-通用輪播組件 輪播圖組件需要再首頁和分類頁使用&#xff0c;封裝成通用組件 準備組件自動導入組件 <script setup lang"ts"> import XtxSwiper from /components/XtxSwiper.vue import CustomNavbar from ./components/CustomNavbar.vue </scrip…

FastAPI入門:請求體、查詢參數和字符串校驗、路徑參數和數值校驗

請求體 FastAPI 使用請求體從客戶端&#xff08;例如瀏覽器&#xff09;向 API 發送數據。請求體是客戶端發送給 API 的數據。響應體是 API 發送給客戶端的數據。 使用 Pydantic 模型聲明請求體&#xff0c;能充分利用它的功能和優點 from fastapi import FastAPI from pydanti…

Docker的docker-compose類比Spring的ApplicationContext

總一句話是&#xff1a;Docker Compose&#xff1a;集中化管理多個容器及其依賴的資源環境&#xff1b;ApplicationContext&#xff1a;集中化管理 多個Bean 及其運行所需的資源和依賴關系。 1. 整體概念 Docker Compose&#xff1a;用于定義和運行多容器 Docker 應用程序&…

Reason-before-Retrieve(CVPR 2025)

研究方向&#xff1a;Image Captioning論文全名&#xff1a;《Reason-before-Retrieve: One-Stage Reflective Chain-of-Thoughts for Training-Free Zero-Shot Composed Image Retrieval》1. 論文介紹組合圖像檢索&#xff08;CIR&#xff09;旨在檢索與參考圖像密切相似的目標…

Idefics2:構建視覺-語言模型時,什么是重要的

溫馨提示&#xff1a; 本篇文章已同步至"AI專題精講" Idefics2&#xff1a;構建視覺-語言模型時&#xff0c;什么是重要的 摘要 隨著large language models和vision transformers的進步&#xff0c;視覺-語言模型&#xff08;VLMs&#xff09;受到了越來越多的關注…

再談fpga開發(fpga調試方法)

【 聲明&#xff1a;版權所有&#xff0c;歡迎轉載&#xff0c;請勿用于商業用途。 聯系信箱&#xff1a;feixiaoxing 163.com】我們之前在學校學習c、c的時候&#xff0c;其實學校漏掉了很重要的一個教學環節&#xff0c;那就是調試、測試。很多時候我們代碼寫出來了&#xff…

C語言中的數據結構--棧和隊列(1)

前言本屆開始我們將對數據結構中棧的內容進行講解,那么廢話不多說,我們正式進入今天的學習棧棧是一種很特殊的線性表&#xff0c;它只能在固定的一端進行插入和刪除操作&#xff0c;進行數據的插入和刪除的一端叫做棧頂&#xff0c;另外一端叫做棧底&#xff0c;棧中的元素遵守…

字符串是數據結構還是數據類型?

比較糾結的一個問題&#xff0c;以下是在網上查到后總結的&#xff0c;不知道對不對&#xff0c;歡迎討論。這是個觸及計算機科學核心概念的精妙問題&#xff01;字符串既可以被視為一種數據類型&#xff0c;也可以被視為一種數據結構&#xff0c;這取決于你觀察的視角和討論的…

Cline與Cursor深度實戰指南:AI編程助手的革命性應用

引言 在AI編程工具快速發展的今天&#xff0c;Cline和Cursor作為兩款備受矚目的AI編程助手&#xff0c;正在重新定義開發者的工作方式。作為一名深度使用這兩款工具的開發者&#xff0c;我在過去一年的實踐中積累了豐富的經驗和獨到的見解。本文將從技術角度深入分析Cline和Cur…

根本是什么

根本是什么 根本沒有了&#xff0c;枝葉還在么&#xff1f; 沒有了內涵&#xff0c;外延還有么&#xff1f; 丟棄了根本&#xff0c;再嗨也是無意義&#xff0c;無根據空虛之樂罷了。 人之所行所言所思所想所念皆欲念、歷程感懷&#xff0c;情思。所謂得失過往&#xff0c;時空…

springboot基于Java的人力資源管理系統設計與實現

管理員&#xff1a;登錄&#xff0c;個人中心&#xff0c;部門管理&#xff0c;員工管理&#xff0c;培訓信息管理&#xff0c;員工獎勵管理&#xff0c;員工懲罰管理員工考核管理&#xff0c;調薪信息管理&#xff0c;員工調動管理&#xff0c;員工工資管理員工&#xff1a;注…

金字塔降低采樣

文章目錄image_scale.hppimage_scale.cppmainimage_scale.hpp #ifndef IMAGE_SCALE_HPP #define IMAGE_SCALE_HPP#include <vector> #include <cstdint> #include <utility> // for std::pair #include <algorithm> #include <string> enum cl…

Filament引擎(四)——光照渲染Froxelizer實現分析

Froxelizer主要是用于filament光照效果的實現&#xff0c;生成光照渲染時所需的必要信息&#xff0c;幫助渲染過程中明確哪些區域受哪些光源所影響&#xff0c;是Filament中保證光照效果渲染效率的核心所在。這部分的源碼&#xff0c;可以結合filament官方文檔中Light Path部分…

2025 環法對決,VELO Angel Glide 坐墊輕裝上陣

2025環法第16賽段的風禿山之巔&#xff0c;當最后一縷夕陽沉入云層&#xff0c;山風裹挾著礫石的氣息掠過賽道&#xff0c;一場足以載入史冊的激戰正酣。帕雷-潘特的肌肉在汗水里賁張&#xff0c;鏈條與齒輪的咬合聲混著粗重喘息&#xff0c;在171.5公里賽程的最后3公里陡坡上&…