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

第5篇:循环语句——重复执行任务 生中文编程

第5篇循环语句——重复执行任务**作者**中文编程倡导者—— 李金雨联系方式wbtm2718qq.com**目标读者**编程入门零基础核心理念使用华为仓颉原生中文编程体验真正的国产编程语言一、开篇引入1.1 生活中的重复生活中有很多重复的事情每天早上重复刷牙、洗脸、吃早餐体育课重复做10个俯卧撑老师让我们重复抄写课文3遍妈妈让你重复说对不起直到她满意1.2 程序中的重复计算机最擅长做重复的事情我们可以让程序重复计算100个学生的平均分重复打印100行我爱编程重复检查用户输入直到正确1.3 关于循环语法的思考在学习循环之前我们再聊聊仓颉的语法设计。仓颉的循环语句使用了国际通用的关键字// for循环 for (i in 0..10) { // 代码 } // while循环 while (条件) { // 代码 }这些关键字for、while、in都是国际通用的大家都能看懂。1.4 本课目标今天我们要学习for循环——知道次数的循环while循环——不知道次数的循环break和continue——控制循环嵌套循环做一个乘法表生成器二、概念讲解2.1 for循环——知道次数时用基本语法for (变量 in 范围) { // 重复执行的代码 }代码示例打印1到10main() { for (i in 0..10) { println(当前数字${i}) } }执行过程i 0执行代码i 1执行代码…i 10执行代码结束代码示例计算1到100的和main() { var 总和: Int64 0 for (i in 1..101) { 总和 总和 i } println(1到100的和是${总和}) }2.2 while循环——不知道次数时用基本语法while (条件) { // 条件为true时重复执行 }代码示例用户输入验证main() { var 密码正确: Bool false var 尝试次数: Int64 0 while (!密码正确 尝试次数 3) { println(请输入密码) // 这里模拟输入 let 输入的密码: String 123456 if (输入的密码 123456) { 密码正确 true println(密码正确) } else { 尝试次数 尝试次数 1 println(密码错误还剩${3 - 尝试次数}次机会) } } if (!密码正确) { println(尝试次数用尽账户已锁定) } }2.3 break和continue——控制循环break——跳出循环main() { for (i in 1..101) { if (i 50) { println(到50了停止) break // 跳出循环 } println(${i}) } }continue——跳过本次main() { for (i in 1..11) { if (i 5) { continue // 跳过5继续下一次 } println(${i}) } }2.4 嵌套循环——循环里面还有循环代码示例打印乘法表main() { for (i in 1..10) { for (j in 1..(i 1)) { print(${j}×${i}${i * j}\t) } println() } }输出结果1×11 1×22 2×24 1×33 2×36 3×39 ...三、动手实践3.1 基础练习九九乘法表// 九九乘法表 main() { println( 九九乘法表 ) println() for (i in 1..10) { for (j in 1..(i 1)) { print(${j}×${i}${i * j}\t) } println() } }3.2 进阶练习打印图形// 打印各种图形 main() { println( 图形打印 ) println() // 打印直角三角形 println(【直角三角形】) for (i in 1..6) { for (j in 1..(i 1)) { print(* ) } println() } println() // 打印等腰三角形 println(【等腰三角形】) let 高度: Int64 5 for (i in 1..(高度 1)) { // 打印空格 for (k in 1..(高度 - i 1)) { print( ) } // 打印星号 for (j in 1..(2 * i - 1 1)) { print(*) } println() } println() // 打印菱形 println(【菱形】) let 菱形高度: Int64 5 // 上半部分 for (i in 1..(菱形高度 1)) { for (k in 1..(菱形高度 - i 1)) { print( ) } for (j in 1..(2 * i - 1 1)) { print(*) } println() } // 下半部分 for (i in (菱形高度 - 1)..0) { for (k in 1..(菱形高度 - i 1)) { print( ) } for (j in 1..(2 * i - 1 1)) { print(*) } println() } }3.3 挑战练习猜数字游戏// 猜数字游戏 import std.random.* main() { println( 猜数字游戏 ) println(我已经想好了一个1-100之间的数字) println(你来猜我会提示大了或小了) println() // 生成随机数 let 目标数字: Int64 randomInt(1, 101) var 猜测次数: Int64 0 var 猜对了: Bool false while (!猜对了) { println(请输入你的猜测) // 这里模拟输入 let 猜测: Int64 50 // 假设输入50 猜测次数 猜测次数 1 if (猜测 目标数字) { println(恭喜你猜对了) println(你一共猜了${猜测次数}次) 猜对了 true } else if (猜测 目标数字) { println(小了再大一点) } else { println(大了再小一点) } } // 评价 if (猜测次数 3) { println(评价太厉害了) } else if (猜测次数 6) { println(评价还不错) } else { println(评价还需要练习哦) } }四、知识总结4.1 核心概念回顾for循环知道次数时用while循环不知道次数时用break跳出循环continue跳过本次继续下一次嵌套循环循环里面还有循环4.2 关于语法设计的总结仓颉的循环语句使用了国际通用的for和while关键字这是一个比较务实的选择。如果我们设计纯中文编程语言// 设想中的中文语法 重复 (i 从 1 到 10) { 显示(i) } // 或者 当 (条件满足) { 执行代码 }当然使用国际通用关键字也有好处仓颉的选择是合理的。4.3 关键代码速查// for循环 for (i in 0..10) { // 代码 } // while循环 while (条件) { // 代码 } // break break // continue continue4.4 常见错误提醒错误现象原因解决方法死循环条件永远为true确保条件会变为false循环不执行条件一开始就是false检查初始条件循环次数不对范围写错检查范围五、课后作业5.1 巩固练习必做练习1计算阶乘输入一个数字n计算n的阶乘n! 1×2×3×…×n。练习2判断素数输入一个数字判断是否为素数只能被1和自身整除的数。练习3打印金字塔输入层数打印金字塔形状。5.2 创意编程选做创意1数字炸弹多人游戏轮流猜数字猜中炸弹数字的人输。创意2简易计算器实现支持连续运算的计算器。创意3动画效果用循环实现简单的文字动画效果。5.3 下篇预习下一篇我们将学习数据列表——数组学习如何存储和操作多个数据。恭喜你完成了第5篇的学习现在你已经掌握了循环语句可以让程序重复执行任务了下节课我们将学习数组存储和操作多个数据

相关文章:

第5篇:循环语句——重复执行任务 生中文编程

第5篇:循环语句——重复执行任务**作者:**中文编程倡导者—— 李金雨 联系方式: wbtm2718qq.com **目标读者:**编程入门(零基础) 核心理念: 使用华为仓颉原生中文编程,体验真正的国产…...

植物大战僵尸杂交版手机版下载最新版分享及V3.16 全版本详细测评

作为长期沉迷植物大战僵尸改版的老玩家,我近期完整体验了杂交版全新V3.16版本,从植物、关卡到平台适配,逐一实测验证。 整体来说,这是一次诚意满满的更新——既有新鲜玩法创新,又兼顾不同玩家需求。 下载链接&#x…...

SD-Trainer终极指南:3步快速训练你的专属AI绘画模型

SD-Trainer终极指南:3步快速训练你的专属AI绘画模型 【免费下载链接】sd-trainer 项目地址: https://gitcode.com/gh_mirrors/sd/sd-trainer 想要打造属于自己的AI绘画风格吗?SD-Trainer为你提供了最简单高效的解决方案!这个开源工具…...

emilianJR/chilloutmix_NiPrunedFp32Fix与数字艺术市场:创作与变现

emilianJR/chilloutmix_NiPrunedFp32Fix与数字艺术市场:创作与变现 【免费下载链接】chilloutmix_NiPrunedFp32Fix 项目地址: https://ai.gitcode.com/hf_mirrors/emilianJR/chilloutmix_NiPrunedFp32Fix emilianJR/chilloutmix_NiPrunedFp32Fix是一款基于H…...

3天从新手到专家:大气层1.7.1完整指南解锁Switch无限潜能

3天从新手到专家:大气层1.7.1完整指南解锁Switch无限潜能 【免费下载链接】Atmosphere-stable 大气层整合包系统稳定版 项目地址: https://gitcode.com/gh_mirrors/at/Atmosphere-stable 你是否还在为Switch的功能限制而苦恼?想体验自制软件、游戏…...

在 Taotoken 控制台一站式管理多个项目的模型调用与账单

在 Taotoken 控制台一站式管理多个项目的模型调用与账单 1. 多项目管理的核心需求 当开发者或团队同时运行多个独立项目时,每个项目可能涉及不同的模型调用需求、预算限制和成员权限。传统模式下,这通常意味着需要维护多套密钥、分散的监控工具和复杂的…...

微信聊天记录永久保存指南:如何用免费开源工具守护你的数字记忆

微信聊天记录永久保存指南:如何用免费开源工具守护你的数字记忆 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending…...

避坑指南:在Ubuntu 20.04上从零部署PointPillars ROS可视化(含OpenPCDet、SpConv2.x环境配置)

避坑指南:在Ubuntu 20.04上从零部署PointPillars ROS可视化(含OpenPCDet、SpConv2.x环境配置) 当你在Ubuntu 20.04上尝试部署PointPillars ROS可视化时,可能会遇到各种环境配置和依赖问题。本文将带你一步步解决这些常见问题&…...

Qianfan-OCR案例分享:建筑施工图图例表OCR+构件编号自动关联

Qianfan-OCR案例分享:建筑施工图图例表OCR构件编号自动关联 1. 项目背景与技术选型 在建筑工程领域,施工图纸中的图例表和构件编号是项目管理的核心信息载体。传统的人工识别方式存在效率低下、容易出错等问题。我们选择百度千帆的Qianfan-OCR模型来解…...

MotionEdit:运动图像编辑与NFT技术的创新融合

1. 项目概述:当运动图像遇上NFT技术去年在为一个体育品牌做动态广告设计时,我深刻体会到高质量运动图像编辑的痛点——现有工具要么对运动轨迹处理生硬,要么无法保持动作连贯性。这正是MotionEdit试图解决的问题:它既是包含3.2万组…...

别再死记硬背LSTM公式了!用Python和PyTorch手把手带你‘画’出记忆细胞的工作流程

用Python动态图解LSTM:从记忆细胞到门控机制的视觉化实践 刚接触LSTM时,那些复杂的公式总让我头晕目眩——遗忘门、输入门、输出门,每个门都有自己的权重矩阵,记忆细胞在不同时间步间传递状态...直到有一天,我决定用代…...

内容生成类应用集成 Taotoken 以实现模型灵活切换与降级容灾

内容生成类应用集成 Taotoken 实现模型灵活切换与降级容灾 1. 典型场景与架构需求 AIGC 内容创作平台通常需要处理多样化的生成任务,例如营销文案撰写、社交媒体帖子生成、产品描述优化等。不同任务对模型能力的需求存在差异:创意类内容可能需要更强的…...

GME-Qwen2-VL-2B-Instruct图文检索教程:消费级GPU(RTX 3090/4090)适配指南

GME-Qwen2-VL-2B-Instruct图文检索教程:消费级GPU(RTX 3090/4090)适配指南 1. 前言:为什么需要本地图文匹配工具 在日常工作中,我们经常遇到这样的需求:给出一张图片,需要从多个文本描述中找到…...

自参考强化学习SRPO在多模态任务中的高效优化

1. 项目背景与核心价值去年在开发智能机器人控制系统时,我遇到了一个典型难题:传统强化学习模型在视觉-语言-动作多模态任务中,需要消耗大量计算资源进行试错训练。直到接触到自参考强化学习(Self-Referential Reinforcement Learning)这个新…...

强力淘金币自动化:彻底解放淘宝用户的时间与精力

强力淘金币自动化:彻底解放淘宝用户的时间与精力 【免费下载链接】taojinbi 淘宝淘金币自动执行脚本,包含蚂蚁森林收取能量,芭芭农场全任务,解放你的双手 项目地址: https://gitcode.com/gh_mirrors/ta/taojinbi 在数字生活…...

FanControl终极指南:如何用免费软件实现Windows风扇智能控制

FanControl终极指南:如何用免费软件实现Windows风扇智能控制 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trend…...

LFM2.5-VL-1.6B开源大模型教程:支持Function Calling的纯文本扩展能力

LFM2.5-VL-1.6B开源大模型教程:支持Function Calling的纯文本扩展能力 1. 项目概述 LFM2.5-VL-1.6B是由Liquid AI开发的轻量级多模态大模型,专为端侧和边缘设备设计。这个1.6B参数的视觉语言模型(1.2B语言400M视觉)在保持轻量化…...

计算机视觉与物理仿真:从视频中提取力场的技术解析

1. 项目背景与核心价值 在计算机视觉与物理仿真交叉领域,如何从普通视频中提取不可见力场并重建物理过程,一直是极具挑战性的研究方向。这个框架的独特之处在于,它不需要依赖昂贵的力传感器或专用捕捉设备,仅凭单目摄像头拍摄的常…...

Streamlit应用也能‘绿色便携’:PyInstaller单文件打包实战与避坑指南

Streamlit应用单文件打包实战:打造即插即用的便携工具 在数据科学和机器学习领域,Streamlit因其快速构建交互式Web应用的能力而广受欢迎。但当我们想将精心开发的应用分享给同事或客户时,却常常面临环境配置的困扰——对方需要安装Python、St…...

【RK3506实战-03】Linux eMMC 实战全攻略

前言 RK3506 是工业级高性价比三核 A7 平台,广泛用于网关、工控、物联网终端。eMMC 作为板载默认存储,相比 SD 卡更稳定、速度更快、适合量产。本文从零开始,完整实战:环境搭建 → 内核 / DTS 配置 → eMMC 分区规划 → Windows/…...

别再乱设CUDA_VISIBLE_DEVICES了!PyTorch多GPU分配的3种正确姿势(附避坑清单)

PyTorch多GPU配置权威指南:从环境变量到分布式训练的最佳实践 在深度学习项目规模不断扩大的今天,高效利用多GPU资源已成为提升模型训练效率的关键。然而,许多开发者在实际配置过程中常常陷入设备分配混乱、性能不达预期的困境。本文将深入剖…...

5分钟快速上手:BLiveChat打造B站直播弹幕的终极解决方案

5分钟快速上手:BLiveChat打造B站直播弹幕的终极解决方案 【免费下载链接】blivechat 用于OBS的仿YouTube风格的bilibili直播评论栏 项目地址: https://gitcode.com/gh_mirrors/bl/blivechat BLiveChat是一款专业的B站直播弹幕工具,能够在OBS中完美…...

Dify工作流无缝接入Claude:MCP协议桥接与实战配置指南

1. 项目概述:打通Dify与MCP的桥梁如果你正在使用Dify构建AI工作流,同时又希望能在Claude Desktop、Cursor这类支持MCP(Model Context Protocol)的客户端里直接调用这些工作流,那么你很可能已经遇到了一个痛点&#xff…...

Windows风扇控制革命:Fan Control三步实现完美散热平衡

Windows风扇控制革命:Fan Control三步实现完美散热平衡 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/f…...

ubuntu 使用samba与windows共享文件

1.首先,安装Samba,在Ubuntu系统上安装了Samba服务 sudo apt update sudo apt install samba配置Samba 安装完成后,需要配置Samba共享。编辑Samba的配置文件。 sudo nano /etc/samba/smb.conf在文件的末尾,添加一个新的共享配置。…...

20_AI视频创作实战课:仙侠短剧运镜提示词完全手册

在AI视频创作中,仙侠题材是最考验运镜功底的门类之一——御剑飞行的速度感、法术特效的冲击力、人兽互动的灵性、万剑齐发的史诗感,每一帧都需要精确的运镜语法来承载。 一、御剑飞行:速度与飘逸的极致张力 1. 原案例「御剑凌风」◆ 生图提示…...

HiveWE:魔兽争霸III地图编辑器的终极性能革命

HiveWE:魔兽争霸III地图编辑器的终极性能革命 【免费下载链接】HiveWE A Warcraft III world editor. 项目地址: https://gitcode.com/gh_mirrors/hi/HiveWE 还在为魔兽争霸III原版编辑器的缓慢加载和复杂操作而烦恼吗?当你满怀创意想要打造一张史…...

深度学习篇---docker迁移深度学习项目至linux平台

在Windows上开发深度学习项目,最后部署或迁移到Linux上跑。好消息是:Docker 做这件事几乎完美,因为容器内部就是Linux环境,你在Windows上构建的镜像,放到Linux上跑,天然无缝。 核心思路:一次打包…...

保姆级教程:在Windows上用VS2019+CMake编译ncnn,搞定ONNX模型转换(附protobuf编译避坑指南)

Windows平台VS2019CMake编译ncnn全流程指南:从环境搭建到ONNX模型转换实战 在移动端AI模型部署领域,ncnn作为腾讯开源的轻量级神经网络推理框架,凭借其优异的跨平台性能和极致的效率优化,已成为众多开发者的首选方案。然而&#x…...

SkillNet:AI驱动的技能评估与人才发展系统

1. 项目概述:当经验遇上系统化AI在职业发展领域,我们常遇到一个经典困境:个人经验如何有效转化为可复用的能力体系?传统的能力评估方式往往依赖主观判断或碎片化的证书认证,而SkillNet的出现彻底改变了这一局面。这个基…...