当前位置: 首页 > article >正文

【Python入门实战】一周吃透基础语法!

趣味数字小游戏合集含循环/分支/迭代器大家好本周我集中学习了Python基础语法、分支循环、循环控制语句以及迭代器等核心知识点与其死记硬背语法规则不如用几个趣味小游戏把这些知识点串起来实战——既练手又好玩新手也能轻松看懂。今天就把这5个涵盖本周所有核心考点的小游戏分享出来每一行代码都加了「人话注释」跟着敲一遍Python基础直接吃透一、游戏1闰年判断器基础语法分支逻辑核心知识点行与缩进、标识符命名、注释、多条件分支and/or、输入输出代码实现def leap_year_checker(): 闰年判断器核心逻辑是「能被4整除但不能被100整除或能被400整除」 这是文档注释和单行注释#的区别是能被Python解释器识别方便查看函数说明 # 1. 获取用户输入并用int()转成数字input默认是字符串哦 # 加个提示语让用户知道要输入啥体验感拉满 year input(请输入你想判断的年份比如2024) # 2. 异常处理防止用户输入非数字比如输个abc导致程序崩溃 try: year int(year) # 尝试转成整数 # 3. 核心分支逻辑闰年判断公式缩进一定要对齐4个空格/1个Tab # 用括号把逻辑分组看起来更清晰新手也不容易晕 if (year % 4 0 and year % 100 ! 0) or (year % 400 0): # 格式化输出把变量嵌入字符串比拼接更优雅 print(f {year}年是闰年可以多过一天~) else: print(f {year}年是平年一年365天哦) except ValueError: # 输入不是数字时友好提示而不是直接报错 print(❌ 输入格式不对请输入纯数字比如2024) # 调用函数运行游戏 leap_year_checker()关键解析缩进Python靠缩进来区分代码块if/else下面的代码必须缩进否则会报错标识符leap_year_checker是合法标识符小写下划线不能用123check以数字开头或if保留字多条件逻辑and是「并且」or是「或者」括号能帮我们理清优先级避免逻辑混乱。二、游戏2猜数字小游戏while循环break异常处理核心知识点while循环、break语句、random模块、try-except异常处理、条件判断代码实现# 导入随机数模块这是Python自带的「工具包」不用自己写随机数逻辑 import random def guess_number_game(): 猜数字小游戏系统随机生成1-100的数字最多猜10次猜对为止 # 1. 生成1-100的随机数作为「答案」 secret_number random.randint(1, 100) # 2. 初始化计数器记录猜的次数从0开始 guess_count 0 # 3. 欢迎语提升游戏体验 print( 猜数字游戏开始系统已生成1-100的随机数你有10次机会~) # 4. while循环条件是「次数10」满足就继续玩 while guess_count 10: # 每次循环次数1 guess_count 1 # 提示剩余次数让用户有预期 print(f\n第{guess_count}次猜测你还剩{10-guess_count}次机会) # 5. 获取用户猜测的数字防止输入非数字 try: user_guess int(input(请输入你猜的数字)) # 6. 条件判断对比猜测值和答案 if user_guess secret_number: # 猜对了用break直接终止循环不用等10次 print(f 恭喜你猜对了答案就是{secret_number}) break elif user_guess secret_number: print( 猜大了再往小了猜猜~) else: print( 猜小了再往大了猜猜~) except ValueError: print(❌ 输入错误请输入1-100的整数) # 7. 循环结束后判断是不是因为次数用完才结束 if guess_count 10 and user_guess ! secret_number: print(f\n 次数用完啦答案是{secret_number}下次加油~) # 运行游戏 guess_number_game()关键解析while循环适合「不确定循环次数」的场景比如不知道用户几次能猜对只要条件满足就一直跑break语句猜对后直接「跳出循环」不用执行剩下的次数提升效率异常处理就算用户输错格式程序也不会崩溃新手友好度拉满。三、游戏3数字累加过滤器for循环continue核心知识点for循环range遍历、continue语句、累加变量代码实现def number_filter_sum(): 数字累加过滤器计算0-20中「不是7的倍数」的数字总和 遇到7的倍数就跳过用continue不参与累加 # 1. 初始化累加器存总和从0开始 total 0 # 2. 欢迎语说明规则 print( 数字累加过滤器计算0-20中「不是7的倍数」的数字总和~) # 3. for循环遍历0-20的数字range(21)是0到20左闭右开哦 for num in range(21): # 4. 判断是不是7的倍数余数为0就是 if num % 7 0: print(f 跳过{num}7的倍数) # continue跳过当前循环直接进入下一次total不加这个数 continue # 5. 不是7的倍数就加到总和里 total num print(f✅ {num}加入累加当前总和{total}) # 6. 输出最终结果 print(f\n 0-20中不是7的倍数的数字总和{total}) # 运行游戏 number_filter_sum()关键解析for循环适合「确定循环次数」的场景比如遍历0-20range(21)会生成0到20的序列continue语句和break不同continue只是「跳过当前这一次」循环还会继续不会终止。四、游戏4九九乘法表循环嵌套核心知识点循环嵌套forfor、格式化输出、循环边界控制代码实现def multiplication_table(): 打印九九乘法表经典的循环嵌套案例新手必练 print( 九九乘法表来啦) # 1. 外层循环控制「行」从1到9 for row in range(1, 10): # 2. 内层循环控制「列」列数≤行数避免重复 for col in range(1, row1): # 3. 格式化输出让表格对齐用\t制表符分隔 # f-string里用{:2d}让数字占2个位置对齐更整齐 print(f{col}×{row}{col*row:2d}\t, end) # 4. 每一行结束后换行不然会挤在一行 print() # 运行程序 multiplication_table()关键解析循环嵌套外层循环管「行」内层循环管「列」先跑外层1次内层跑完所有次再跑外层下一次边界控制内层循环range(1, row1)保证列数≤行数避免打印出「2×12」这种重复内容符合九九乘法表的习惯。五、游戏5迭代器遍历数字序列迭代器基础核心知识点迭代器概念、iter()/next()方法、可迭代对象遍历代码实现带生动注释def iterator_demo(): 迭代器入门用迭代器遍历数字序列理解「按需取值」的特点 迭代器和for循环的区别迭代器是「取一个用一个」不占内存 # 1. 先创建一个可迭代对象1-10的数字列表 number_list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] print(f 原始数字列表{number_list}) # 2. 把列表转成迭代器用iter()函数 number_iterator iter(number_list) print( 已将列表转为迭代器开始逐个取值~) # 3. 用while循环next()取值直到取完抛出StopIteration异常 try: while True: # next()从迭代器里「取下一个值」 current_num next(number_iterator) print(f✅ 取出数字{current_num}) except StopIteration: # 迭代器取完了提示结束 print(\n 迭代器里的数字已经取完啦) # 4. 拓展迭代器只能取一次取完就空了 print(\n 验证迭代器取完后再取会直接结束) # 重新转迭代器才能再取 new_iterator iter(number_list) # 用for循环遍历迭代器更简洁Python底层就是这么干的 for num in new_iterator: print(f 重新遍历{num}, end ) # 运行程序 iterator_demo()关键解析迭代器本质「按需取值」不像列表一样一次性把所有数据存内存适合处理大数据iter()/next()iter()把可迭代对象列表、range等转成迭代器next()逐个取值取完就抛StopIterationfor循环底层其实就是自动调用iter()和next()并捕获StopIteration异常不用我们手动写try-except。

相关文章:

【Python入门实战】一周吃透基础语法!

趣味数字小游戏合集(含循环/分支/迭代器)大家好!本周我集中学习了Python基础语法、分支循环、循环控制语句以及迭代器等核心知识点,与其死记硬背语法规则,不如用几个趣味小游戏把这些知识点串起来实战——既练手又好玩…...

批量字符替换工具技术解析:原理、特性与应用实践

在软件技术领域,文本处理是一项基础而又至关重要的技术环节。 无论是编译器对源代码的词法分析,还是搜索引擎对网页内容的索引建立,亦或是数据清洗过程中对原始数据的格式化整理,都离不开对文本内容的读取、分析和修改。 而在众…...

写作神器,又是小说下载神器,牛逼的 51mazi

写作神器,又是小说下载神器,牛逼的 51mazi 想写小说时,它帮你把人物、地图、禁词、进度全管好;想看书时,它又能搜书名、选书源、一键下载到本地或导出 TXT。一个软件,既能写,又能下——说的就是…...

第6章 线性相关性、秩与维度:系统的独立程度

底层数学四部曲第四部 线性代数:入门与全领域展开 第6章 线性相关性、秩与维度:系统的独立程度 线性相关性、秩与维度的本质,是刻画系统中“有效信息”的数量与独立程度,是贯穿线性代数所有核心内容的“主线逻辑”。 前面五章&…...

软考高项:第22章:组织通用治理(占分分析/考点/题)

本章节属于《信息系统项目管理师》(第4版)的补充管理知识。在考试中,通常在上午的客观选择题中占2分左右,且有上升趋势。考查的重点通常偏向概念的识记,如组织战略的类型、绩效考核评估的方法、绩效计划的原则以及数字…...

模板编译期计算

1、非修改序列算法这些算法不会改变它们所操作的容器中的元素。1.1 find 和 find_iffind(begin, end, value):查找第一个等于 value 的元素,返回迭代器(未找到返回 end)。find_if(begin, end, predicate):查找第一个满…...

品质铸就品牌——山西永鑫生重工股份有限公司的锻件优势

在山西定襄这个锻造产业聚集地,山西永鑫生重工股份有限公司以其卓越的品质、及时的工期和综合实力,成为众多客户的首选合作伙伴。作为一家专业的锻件生产厂家,公司在产品品质、生产效率和客户服务方面展现出了明显的竞争优势。【卓越品质&…...

版本控制进阶Git内部原理与工作流

版本控制进阶:Git内部原理与工作流 在软件开发中,版本控制是团队协作的核心工具,而Git作为分布式版本控制系统的代表,其内部原理与高效工作流是开发者进阶的必修课。理解Git的底层机制不仅能解决日常开发中的疑难问题&#xff0c…...

cmu15445 25fall环境配置

llvm clangd codelldb cmake(ninjia) cmakelist比较难写,考虑到使用clangd,必须要加上参数-DCMAKE_EXPORT_COMPILE_COMMANDS1 或者去cmakelist里加一行set(CMAKE_EXPORT_COMPILE_COMMANDS ON) 1 设置->clangd:argument加一行--compile-commands-…...

Centos7 安装配置MySQL5.7

MySQL 简介 是一个关系型数据库管理系统,由瑞典MySQL AB(创始人Michael Widenius)公司开发,2008被Sun收购(10亿美金),2009年Sun被Oracle收购。是一种关联数据库管理系统,将数据保存…...

C++与自动驾驶系统

1、非修改序列算法这些算法不会改变它们所操作的容器中的元素。1.1 find 和 find_iffind(begin, end, value):查找第一个等于 value 的元素,返回迭代器(未找到返回 end)。find_if(begin, end, predicate):查找第一个满…...

模板代码安全性增强

1、非修改序列算法这些算法不会改变它们所操作的容器中的元素。1.1 find 和 find_iffind(begin, end, value):查找第一个等于 value 的元素,返回迭代器(未找到返回 end)。find_if(begin, end, predicate):查找第一个满…...

编译器扩展与C++兼容性

1、非修改序列算法这些算法不会改变它们所操作的容器中的元素。1.1 find 和 find_iffind(begin, end, value):查找第一个等于 value 的元素,返回迭代器(未找到返回 end)。find_if(begin, end, predicate):查找第一个满…...

C++与Rust交互编程

1、非修改序列算法这些算法不会改变它们所操作的容器中的元素。1.1 find 和 find_iffind(begin, end, value):查找第一个等于 value 的元素,返回迭代器(未找到返回 end)。find_if(begin, end, predicate):查找第一个满…...

PCL 计算两片点云重叠区域的均值标准差【2026最新版】

本文由CSDN点云侠原创,原文链接,首发于:2021年03月11日。博客长期更新,本文最新更新时间为:2026年3月15日。 一、主要函数 getCorDistMeanStd() void pcl::registration::getCorDistMeanStd (...

PCL 提取两片点云的重叠部分并保存【2026最新版】

目录 一、 原理 二、 代码实现 三、 结果展示 本文由CSDN点云侠原创,博客长期更新,本文最近一次更新时间为:2026年3月15日。 一、 原理 pcl::correspondences类里面有query和match两个成员,分别是source和target点云上对应点对的索引。可以通过source[query]来访问source中…...

SpringCloud通过服务逻辑分组实现灰度功能

声明:内容来自AI,未经验证,仅供参考!1、原理服务注册到注册中心时,我们可以添加额外的信息对服务进行打标/染色,从而实现逻辑分组。当有调用时,我们根据HTTP头信息(约定好头)来决定转…...

如何在Windows上测试ip和端口

我们在开发中常常需要测试服务器之间的连通性,下面我给大家分享一下我的经验,方法有三 方法1 使用ping命令,但是这个命令只能简单的测试服务器之间是否具备通信能力,使用方法如下 ping 192.168.0.1回车之后,两个ip所在…...

如何使用SoccerOnTable:将足球视频转换为3D AR/VR体验的完整指南

如何使用SoccerOnTable:将足球视频转换为3D AR/VR体验的完整指南 【免费下载链接】soccerontable Upconverting YouTube soccer videos in 3D for viewing in AR/VR devices.Soccer On Your Tabletop 项目地址: https://gitcode.com/gh_mirrors/so/soccerontable …...

探索Schema Inspector:数据验证与文档生成的新星!

探索Schema Inspector:数据验证与文档生成的新星! 【免费下载链接】schema-inspector Schema-Inspector is a simple JavaScript object sanitization and validation module. 项目地址: https://gitcode.com/gh_mirrors/sc/schema-inspector Sch…...

如何快速提升网站交互体验:SlipHover 悬停动画库完全指南

如何快速提升网站交互体验:SlipHover 悬停动画库完全指南 【免费下载链接】SlipHover apply direction aware animation to images caption 项目地址: https://gitcode.com/gh_mirrors/sl/SlipHover SlipHover 是一款轻量级的 jQuery 悬停动画库,…...

如何用《百万英雄助手》轻松通关知识问答?智能答题神器全攻略

如何用《百万英雄助手》轻松通关知识问答?智能答题神器全攻略 【免费下载链接】MillionHeroAssistant 百万 / 冲顶 / 芝士 / UC / 万能 答题助手(知识图谱更加专业,自动推荐答案, Android手机自动屏幕适配,模拟器支持&…...

如何使用CSS Ratiocinator:轻松优化混乱CSS的终极指南

如何使用CSS Ratiocinator:轻松优化混乱CSS的终极指南 【免费下载链接】css-ratiocinator because your CSS is garbage 项目地址: https://gitcode.com/gh_mirrors/cs/css-ratiocinator CSS Ratiocinator是一款强大的CSS重构工具,能够自动分析网…...

如何使用SlipHover:为图片添加方向感知动画的完整指南

如何使用SlipHover:为图片添加方向感知动画的完整指南 【免费下载链接】SlipHover apply direction aware animation to images caption 项目地址: https://gitcode.com/gh_mirrors/sl/SlipHover SlipHover是一个轻量级的jQuery插件,能够为图片添…...

如何使用 Laravel Purity:简化 Laravel 数据筛选与排序的终极指南

如何使用 Laravel Purity:简化 Laravel 数据筛选与排序的终极指南 【免费下载链接】laravel-purity An elegant way to filter and sort queries in Laravel 项目地址: https://gitcode.com/gh_mirrors/la/laravel-purity Laravel Purity 是一款为 Laravel 框…...

如何快速安装与使用ESSE:保护数据安全的终极加密即时通讯工具

如何快速安装与使用ESSE:保护数据安全的终极加密即时通讯工具 【免费下载链接】ESSE Encrypted peer-to-peer IM for data security. Own data, own privacy. (RustFlutter) 项目地址: https://gitcode.com/gh_mirrors/es/ESSE ESSE是一款专注于数据安全的加…...

如何高效管理多GitHub仓库?Turbolift开源工具的终极使用指南

如何高效管理多GitHub仓库?Turbolift开源工具的终极使用指南 【免费下载链接】turbolift A simple tool to help apply changes across many GitHub repositories simultaneously 项目地址: https://gitcode.com/gh_mirrors/tu/turbolift Turbolift是一款强大…...

如何使用ESSE:打造你的终极加密点对点通信系统

如何使用ESSE:打造你的终极加密点对点通信系统 【免费下载链接】ESSE Encrypted peer-to-peer IM for data security. Own data, own privacy. (RustFlutter) 项目地址: https://gitcode.com/gh_mirrors/es/ESSE ESSE(Encrypted Symmetrical Sess…...

Tessera性能优化:提升大规模仪表盘加载速度的6个技巧

Tessera性能优化:提升大规模仪表盘加载速度的6个技巧 【免费下载链接】tessera A dashboard front-end for graphite. 项目地址: https://gitcode.com/gh_mirrors/te/tessera Tessera作为Graphite的仪表盘前端工具,在处理大规模数据可视化时&…...

解决UnityDebugSheet常见问题的终极指南:从入门到精通

解决UnityDebugSheet常见问题的终极指南:从入门到精通 【免费下载链接】UnityDebugSheet Hierarchical debug menu system for Unity that makes it easy to create intuitive and organized debug menus. 项目地址: https://gitcode.com/gh_mirrors/un/UnityDebu…...