news 2026/9/3 5:46:59

Python学习记录7

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python学习记录7

刚刚学习了两个关于循环的案例,来分享一下:

一、根据输入的账号和密码执行登录操作

具体要求如下:

1.设定正确的账号和密码 2.输入正确的账号和密码则登录成功,输入错误的则继续输入直到正确为止 3.输入的账号和密码不能为空

接下来是完整代码块:

while True: username = input('请输入用户账号:') password = input('请输入用户密码:') if username == '' or password == '': print('输入的账号或密码不得为空!') continue if username == '1839632447' and password == 'wytlike688': print('登录成功!') break elif username == '18806092052' and password == 'wytlike688': print('登录成功!') break else: print('用户名或者密码输入错误,请重新输入:')

这里需要注意:

username = input('请输入用户账号:') password = input('请输入用户密码:')

这两行代码必须写在循环内部,如果写在循环外部会出现错误,程序将会无限循环输入账号密码这一步。以下是我和 DeepSeek 交流后它给我的分析:

  • 如果循环条件涉及用户输入,那么输入语句必须放在循环体内,这样每次循环都能获取新的输入,用户才有机会改变条件。

  • 如果放在循环外,输入只执行一次,条件判断结果不变,要么直接退出(如果第一次就正确),要么无限循环(如果第一次错误)。

二.猜数字游戏

具体要求如下:

系统随机生成一个数字,用户输入一个数字,系统判断输出“大了”,“小了”或者“猜对了”三个字样,以下是代码:

import random random_num = random.randint(1,100) #随机生成一个1到100的随机数 while True: num = int(input('请输入你猜的数字:')) if num > random_num: print('猜大了') elif num < random_num: print('猜小了') else: print('恭喜!猜对了') break print('随机生成的数字是:',random_num)

但是这个猜数字游戏我个人不是很满意,后续我根据和deepseek的交流重新改进了一下整个代码块:

import random while True: # 外层循环:控制是否开始新一局 random_num = random.randint(1, 100) # 每局重新生成随机数 print('新一局开始!我已经想好了一个1到100之间的数字。') while True: # 内层循环:猜数字 try: num = int(input('请输入你猜的数字:')) except ValueError: print('请输入有效的整数!') continue if num > random_num: print('猜大了') elif num < random_num: print('猜小了') else: print('恭喜!猜对了') break # 询问是否继续 while True: # 这个循环用于确保玩家输入有效的选项 choice = input('是否再玩一次?(y/n):').strip().lower() if choice in ['y', 'yes']: break # 跳出询问循环,继续外层循环(开始新一局) elif choice in ['n', 'no']: print('感谢游玩,再见!') exit() # 或者 break 两次,但 exit() 直接结束程序更简单 else: print('请输入 y 或 n。')

改进说明:这个代码引入了三个循环,一个大循环,两个小循环,大循环内的两个小循环优先级平等,执行分先后,这个代码块实现了让用户拥有选择是否再来一局猜数字游戏的权利,当第一次运行程序猜对数字后,用户会进入选择界面,输入y/n来选择是否再进行一局游戏或者直接退出,如果输入y,那么又会进入一开始的小循环继续进行数字游戏,如果输入n,这里还引入了exit()语句,直接结束程序。

补充说明:代码还引入了try-except语句来避免用户在输入整数时误触造成的程序崩溃或者无法继续进行后面代码的问题。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/3 5:46:52

开学季新生信息录入|教师简易线上收集信息方案

每到新学期开学&#xff0c;新生信息采集都是班主任和行政老师的常规重点工作。传统的纸质登记、群内逐条统计、文档汇总整理的模式&#xff0c;不仅耗时&#xff0c;还容易出现信息遗漏、格式不统一、隐私保护不到位等问题。对于需要批量统计、长期存档、定期上报的校园工作来…

作者头像 李华
网站建设 2026/9/3 5:45:52

从Agent Loop到PlanMode:一套能跑生产的AI Agent工程骨架

类比一下来记忆&#xff0c;整篇文章所讲的知识的体系&#xff1a;Harness是操作系统——管所有资源的顶层容器&#xff1b;LLM是CPU——吃进指令吐出结果&#xff1b;Agent Loop 是内核主调度循环——不停地取任务、调度、等I/O返回、再取下一个&#xff1b;Two-Stage ReAct是…

作者头像 李华
网站建设 2026/9/3 5:45:11

大模型Embedding原理详解:从向量化到RAG工程实践

大模型 Embedding 是把文本转换为向量的一种关键能力&#xff0c;也是知识库问答、语义搜索和 RAG 链路里最常被提到的基础模块。很多开发者第一次接触时&#xff0c;通常会直接调用某个 API 或现成库的 encode()&#xff0c;但结果往往是&#xff1a;向量拿到手了&#xff0c;…

作者头像 李华
网站建设 2026/9/3 5:44:33

从一条 JDBC URL 到 TLS 信任链,SAP HANA Cloud 数据库安全连接实战

做 Java 应用连接 SAP HANA Cloud 时,真正容易卡住的地方通常不是 DriverManager,也不是写一条 SELECT 语句,而是连接建立之前那一整套看不见的过程。 应用拿到了 SAP HANA Cloud 的 SQL Endpoint,端口也确认是 443,数据库用户和密码都没有问题,程序里也已经放进了 ngdb…

作者头像 李华
网站建设 2026/9/3 5:44:31

STM32 Proteus仿真入门:从零实现LED闪烁与GPIO驱动解析

简介&#xff1a;本资源是一份面向STM32初学者与嵌入式教学场景的LED闪烁实验完整仿真工程&#xff0c;聚焦GPIO基础驱动与Protues虚拟验证&#xff0c;解决无硬件条件下快速掌握STM32外设控制的核心痛点。压缩包含201个文件&#xff0c;总计4.61MB&#xff0c;涵盖37个头文件&…

作者头像 李华
网站建设 2026/9/3 5:44:28

容器化部署 MiniMax-H3

文章目录1.简介2.快速上手3.工作流介绍&#xff1a;4.API 快速接入4.1 两步快速跑通4.2 实例探活4.3 使用 SDK 接入4.4 生产任务采用异步模式5. 性能与成本实测数据6. 常见问题及处理建议7. 扩展功能&#xff1a;图生视频与参考生视频7.1 图生视频&#xff08;I2V&#xff09;7…

作者头像 李华