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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈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公里陡坡上&…