首页 > 其他分享 >while、for循环学习

while、for循环学习

时间:2024-04-01 21:34:37浏览次数:19  
标签:username 学习 密码 while 循环 print input password 输入

练习

1、列举你所知道的python所有基本数据类型及各自特征

  • 数字类型
    • 整数类型
    • 浮点数类型
  • 字符串类型
  • 列表类型
  • 字典类型
  • 布尔类型
  • 元组类型
  • 集合类型

2、说说你所知道的运算符有哪些

【一】算术运算符

【二】比较运算符

【三】赋值运算符

【四】逻辑运算符

【五】成员运算符

【六】身份运算符

3、变量的三大特性以及如何查看变量的三大特性

【1】变量值 变量类型 变量内存地址

  • 实际存在的值 值的类型 实际存在的空间地址
  • 变量名 = 变量值 内部的原理
  • 变量值:就是在内存空间中开辟一块空间存储指定的值

【2】如何查看三大特性

  • 变量值:直接通过打印变量名

  • 变量类型:type()

  • 变量的内存空间地址:ID()

4、列举你所学过的条件语句的语法并介绍

顺序结构(依次向下执行)、

分支结构(相当于给了两个条件来进行判断)、

循环结构(直到条件为否才结束当前循环)

5、==和is的区别

== 和 is 的区别

比较运算符,比较的值相等

== 比较的是 值是否相等

is 比较的是 内存空间地址是否一致

两个的变量的值一样,但是他们的内存空间地址不一定一样

上周回顾

【一】计算机基础

【1】编程和编程语言

  • 编程语言就是人与计算机之间交流的媒介

  • 编程就是将人类的语言转换为计算机可以识别的语言

【2】计算机的五大组成部分

  • 控制器:负责调理硬件的使用
  • 运算器:负责处理和计算相关逻辑
  • 存储器:内存和硬盘,负责存储数据
  • 输入设备:人向计算机内输入内容的媒介,键盘,麦克风
  • 输出设备:计算机向人展示处理后的结果所需的媒介 显示器,音响

【3】计算机的三大核心硬件

  • CPU: 控制器 + 运算器:调度和处理系统中的各项任务

  • 内存:短暂存储数据,读取速度,但是断电数据就会消失

  • 硬盘:持久化存储数据,读取速度相较于内存慢一点,但是断电数据不会消失(硬盘不损坏的前提)

【4】平台

  • 我们使用的电脑系统 + 软件

  • 我们的硬件 + Windows系统 --->win平台

【5】系统软件和应用软件

  • 系统软件:系统自带的软件,如任务管理器、设备管理器、扬声器....
  • 应用软件:别人开发好的安装包,我们通过下载安装程序运行的软件

【二】编程语言的发展史

【1】机器语言

  • 一堆 01二进制数据
  • 开发成本高
  • 直接操作计算机底层硬件

【2】汇编语言

  • 通过字母进行指定的程序编程
  • 对比机器语言优化了部分
  • 也是可以直接操作计算机底层硬件

【3】高级语言

  • 不直接操作底层硬件而是通过其他编码转换为底层计算机语言

(1)编译型语言

  • 写完源代码需要编译后才能执行,一旦出错,整个文件必须重新编译才能使用

(2)解释型语言

  • 源代码边编译边执行,如果出错,只需要从头编译,遇错直接断开

【三】python语言介绍

【1】创始

  • 吉多范罗姆

【2】世界排名

  • 1

【3】Python发展史

  • 89年开始研发
  • 91年第一个版本正式推出
  • 10年2.7版本发布
  • 16年3.6版本发布
  • 目前最高版本3.13
  • 使用3.10即可

【4】Python安装

  • 官网下载安装包 ---> 安装 ---> 直接下一步 ---> 不要安装在C盘,路径尽量不要中文,全部选项都勾上

【5】多版本Python解释器共存

  • 直接复制原来解释器的快捷方式,添加一个副本,改名为他的版本号

【6】pip源

  • 换源的目的是为了解决在国内安装第三方包太慢

(1)临时换源

pip install -i 源地址 模块名

(2)永久换源

换一次所有的pip程序对话使用新换的源

【7】pycharm安装

  • 无论是在终端还是在python代码中,运行py文件都不方便

  • 安装pycharm专业版

【四】python语法

【1】注释

  • 单引号和双引号三引号

【2】变量和常量

  • 常量就是特殊的变量

  • 变量其实就是表示事物状态或者变化的值

  • 语法: 变量名 = 变量值

【3】八大基本数据类型

【1】数字类型
  • 整数类型 int
    • 变量名 = 整数值
  • 浮点数类型 float
    • 变量名 = 浮点数值
【2】字符串类型 str
  • 字符串支持索引取值;正索引从0开始,负索引从-1开始
  • 字符串虽然支持索引取值但是不支持索引改动值
  • 字符串格式化输出语法:
    • %s占位 %d只能占数字
    • format:字符串内部用{}.format 往前面按位置放内容 {变量名}.format(变量名=变量值)
    • f + {}:在{}内部放变量名或者表达式
【3】列表类型 dist
  • name = []
  • 列表内部可以存放任意的数据类型
  • 列表支持索引取值
  • 也支持索引替代值
【4】字典类型 dict
  • name =
  • 建议字典的键 key 是字符串或者数字
  • 字典不支持索引取值
  • 字典取值方法:
  • 字典[]:它的特点事取不到的值就会保存
  • 字典.get(key):取不到值就None
【5】布尔类型 bool
  • 只需记住结果为假的情况
    • 空值,数字0,布尔值false
【6】元组类型 tuple
  • name = (元素,) # 要加逗号!
  • 元组支持索引取值,但是不支持索引改值
【7】集合类型 set

name = {元素1,元素2}

一般情况下,元素为字符串和数字,因为集合类型的特点就是:无序、去重

【五】程序与用户交互

  • input 语句输入内容

  • print 语句打印 更改后缀 end = '\n'

【六】循环语句

  • 顺序结构 分支结构 循环结构
  • 顺序结构:从上至下依次执行
  • 分支结构:可以产生额外的条件根据条件执行代码
  • 循环结构:可以不断的判断当前条件是否符合指定条件

【1】分支结构

(1)单分支

if 条件:

(2)双分支

if 条件:

else:

(3)三分支:

if条件:

elif:

elif:

else:

今日内容

【一】循环结构

(1)while循环

  • 语法
while 条件:
    # 循环体
  • 可以在while循环中定义一个标志位
tag = True
while tag:
    username = input("输入:")
    if username == "hyt":			#只有在输入hyt时才会结束循环
        tag = False
# 作业【一】
# 登录(字符串)
# 用户名 密码
# 两个输入框 --- > 用户名和密码
# ---> 用户名和密码是否正确
# 正确 :登陆成功
# 失败 : 再输一次
# 失败 : 再输一次
# 再失败 : 登录失败

username = "gdy"
password = "123"
username_input = input("请输入用户名:")               # 创建输入账号栏
password_input = input("请输入密码:")                # 创建输入密码栏

if username_input == username and password_input == password:       # 判断账号密码是否为真
    print(f"登录成功")                          # 账号密码为真输出
else:
    print(f"密码错误,你还有两次机会")                     # 账号密码为假输出
    username_input = input("请输入用户名:")
    password_input = input("请输入密码:")

    if username_input == username and password_input == password:
        print(f"登录成功")
    else:
        print(f"密码错误,你还有最后一次机会!")
        username_input = input("请输入用户名:")
        password_input = input("请输入密码:")

        if username_input == username and password_input == password:
            print(f"登录成功")
        else:
            print(f"密码错误,你的账号已被锁定,无法重试")
# 作业【二】
# 定义一个列表 [用户名,密码]
# 两个输入框 --- > 用户名和密码
# ---> 用户名和密码是否正确
# 正确 :登陆成功
# 失败 : 再输一次
# 在失败 : 登录失败

# 方案一
user = ["gdy","123"]
username = user[0]
password = user[1]
username_input = input(f"请输入用户名:")
password_input = input(f"请输入密码:")

if username_input == username and password_input == password:
    print(f"登录成功")
else:
    print(f"密码错误,你还有两次机会")
    username_input = input(f"请输入用户名:")
    password_input = input(f"请输入密码:")
    if username_input == username and password_input == password:
        print(f"登录成功")
    else:
        print(f"密码错误,你还有最后一次机会")
        username_input = input(f"请输入用户名: ")
        password_input = input(f"请输入密码:")
        if username_input == username and password_input == password:
            print(f"登录成功")
        else:
            print(f"密码错误,你的账号已被锁定,无法重试")

# 方案二
# 解包
username,password = ["gdy","123"]
username_input = input(f"请输入你的用户名:")
password_input = input(f"请输入你的密码:")

if username_input == username and password_input == password:
    print(f"登录成功")
else:
    print(f"输入错误,你还有两次机会")
    username_input = input(f"请输入你的用户名:")
    password_input = input(f"请输入你的密码:")
    if username_input == username and password_input == password:
        print(f"登录成功")
    else:
        print(f"输入错误,你还有一次机会")
        username_input = input(f"请输入你的用户名:")
        password_input = input(f"请输入你的密码:")
        if username_input == username and password_input == password:
            print(f"登录成功")
        else:
            print(f"输入错误,账号已锁定,无法重试")
# 作业【三】
# 定义一个字典 {'key':'value'} ---> 多用户登录功能
# 两个输入框 --- > 用户名和密码
# ---> 用户名和密码是否正确
# 正确 :登陆成功
# 失败 : 再输一次
# 再失败 : 登录失败

user = {"gdy":"123","hyt":"456"}

username = input(f"请输入账号:")
password = input(f"请输入密码:")
if username in user and password == user.get(username):
    print(f"登录成功")
else:
    print(f"账号密码输入错误,请重新输入!")

    username = input(f"请输入账号:")
    password = input(f"请输入密码:")
    if username in user and password == user.get(username):
        print(f"登录成功")
    else:
        print(f"账号密码输入错误,账号已锁,请联系管理员")

(2)continue

  • 语法:
while 条件:
	# 循环体
    if 条件:
    	continue	# 跳过本次循环,直接进行下一次循环

(3)break

  • 语法
while 条件:
	# 循环体
    if 条件:
    	break	#退出循环
示例
# 登录案例while循环使用break
username = "gdy"
password = "123"
count = 0		# 记录循环验证次数
while count < 3:
    username_input = input("请输入你的用户名:")
    password_input = input("请输入你的密码:")
    if username_input == username and password_input == password:
        print("登录成功")
        break	# 输入正确,结束循环
    else:
        print("用户名或密码错误!")
        count += 1
     
    
# 登录案例(while循环嵌套-break)
# while循环嵌套,想要退出每一层,则需要在每一层循环都有break
username = "gdy"
password = "123"
count = 0
while count < 3:	# 第一层循环
        username_input = input("请输入用户名:")
        password_input = input("请输入密码:")
        if username_input == username and password_input == password:
            print("登录成功")
            while True:			# 第二层循环
                cmd = input("输入:")
                if cmd != "10":
                    break		# 用于结束第二层循环
                print("100")
            break				# 用于结束第一层循环
        else:
            print("用户名或密码错误!")
            count += 1

练习

# 程序随机内置一个位于一定范围内的数字作为猜测的结果,由用户猜测此数字。
# 用户每猜测一次,由系统提示猜测结果:太大了、太小了或者猜对了,
# 直到用户猜对结果或者猜测次数用完导致失败。
# 设定一个理想数字比如:66, 让用户三次机会猜数字,如果比66大,则显示猜测的结果大了;
# 如果比66小,则显示猜测的结果小了; 只有等于66,显示猜测结果正确,退出循环。
# 最多三次都没有猜测正确,退出循环,并显示‘都没猜对,继续努力’。

i = 0
try_choices = 3
number = "52"
while i < try_choices:
    i += 1
    number_input = input(f"请输入你猜测的数字:")
    if number_input == number:
        print(f"猜对了")
        break
    elif number_input < number:
        print(f"你猜测的数字太小了")
    elif number_input > number:
        print(f"你猜测的数字太大了")

    if i == try_choices:
        print(f"你的猜测机会用完了,没猜对")
        number_again = input(f"是否重新尝试?请输入y/n:")
        if number_again not in ["y","n"]:
            print("输入格式错误!")
            break
        if number_again == "y":
            i = 0
            continue
        else:
            print(f"欢迎下次尝试!")
            break

(4)for循环

  • 语法:

for 循环变量 in 序列

​ # 循环体

循环变量:它会每次循环时去序列中的一个值

序列:可以是列表、元组、字符串等

示例
fruits = ['apple', 'banana', 'cherry', 'orange', ]
for fruit in fruits:
    print(f"当前水果为:", fruit)
print("Lopp finished !")

# 输出结果
# 当前水果为: apple
# 当前水果为: banana
# 当前水果为: cherry
# 当前水果为: orange
# Lopp finished !

(5)range 关键字

  • 帮我们生产指定区间内的整数列表
  • 顾头不顾尾的取法
print(range(1,5),type(range(1,5)))
# 输出结果
# range(1, 5) <class 'range'>

for i in range(1,5):
    print(i)
# 输出结果
# 1 2 3 4
for o in range(5):
    print(o)
# 输出结果
# 0 1 2 3 4														

(6)死循环

  • 无法退出当前循环
  • 不要在项目中出现死循环,会造成cpu飙升
示例
while True:
    print(1)

标签:username,学习,密码,while,循环,print,input,password,输入
From: https://www.cnblogs.com/wycmjd/p/18109410

相关文章

  • OpenStack学习笔记03-OpenStack环境准备
    OpenStack学习笔记03-OpenStack环境准备OpenStackLinux对着《云操作系统(OpenStack)》第三章做的。一、系统环境配置1.为什么NAT模式网关不能填写XX.XX.XX.1?两天了,被这个问题纠缠两天了。虚拟机设置的是NAT模式,但是就是上不了外网。就是因为我把VMWare的NAT的网关改在了X......
  • 深入学习MySQL1——体系结构、常见引擎、索引
    MySQL体系结构连接层:提供一些mysql的数据连接对象、用户校验、权限认证等服务服务层:在本层实现了一些核心功能,如SQL接口,缓存查询(8.0之后的版本已取消该功能)、SQL分析和优化,部分内置函数的执行。所有的跨存储引擎的功能都在这一层实现,如:过程、函数等。在该层,服务器会解析查询并......
  • 学习嵌入式的第三天
    学习嵌入式的第三天数据类型获取数据类型存储的大小sizeof运算符可计算出指定数据(变量,常量)的字节大小它的结果是size_t类型的数据(本质上就是unsignedint或unsingnedlong类型又系统和编译器决定),对应的占位符是%zu数据类型的转换数据类型的隐式转换整数自动......
  • 2_C语言分支与循环
    C语言分支与循环分支break与continueif与elseswitch练习题循环forwhiledowhile练习题分支break与continuebreak:使流程跳到循环体之外,接着执行循环体下面的语句其实在循环中只要遇到break,就停止后期的所有的循环,直接终止循环。所以:while中的break是用于永久终......
  • Node.js毕业设计基于HarmonyOS在线学习平台app(Express+附源码)
    本系统(程序+源码)带文档lw万字以上  文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义选题背景:随着互联网技术的迅猛发展,移动应用已经成为了人们获取信息、学习知识的重要渠道。在线学习平台作为现代教育技术的重要组成部分,为人们提供了便捷的学习途径......
  • while循环补充
    1while循环补充1.1for循环for循环:遍历可迭代类型_(能索引取值的也输入可迭代类型)for变量名in字符串:​循环代码#for主要用于遍历,字符串中有几个字符,for就会循环几次name="dream"forainname:#a是自定义的一个变量print(a)#这个for循环了5次,因......
  • HTML学习归纳1
            想通过这样的方式,记录自己的学习过程。将近期学习到的一些内容,不定期的做一些总结,方便有相同经历的人一起学习交流。    首先,在初步了解学习了HTML以后,先明白这是一门标签语言,逻辑架构上应该说是十分清晰的,我们需要的是掌握不同标签的用法。   ......
  • 基于阿基米德优化算法优化的核极限学习机(KELM)回归预测
    基于阿基米德优化算法优化的核极限学习机(KELM)回归预测文章目录基于阿基米德优化算法优化的核极限学习机(KELM)回归预测1.KELM理论基础2.回归问题数据处理4.基于阿基米德优化算法优化的KELM5.测试结果6.Matlab代码摘要:本文利用阿基米德优化算法对核极限学习机(KELM......
  • 基于寄生捕食算法优化的核极限学习机(KELM)回归预测
    基于寄生捕食算法优化的核极限学习机(KELM)回归预测文章目录基于寄生捕食算法优化的核极限学习机(KELM)回归预测1.KELM理论基础2.回归问题数据处理4.基于寄生捕食算法优化的KELM5.测试结果6.Matlab代码摘要:本文利用寄生捕食算法对核极限学习机(KELM)进行优化,并用于......
  • 基于黑寡妇算法优化的核极限学习机(KELM)回归预测
    基于黑寡妇算法优化的核极限学习机(KELM)回归预测文章目录基于黑寡妇算法优化的核极限学习机(KELM)回归预测1.KELM理论基础2.回归问题数据处理4.基于黑寡妇算法优化的KELM5.测试结果6.Matlab代码摘要:本文利用黑寡妇算法对核极限学习机(KELM)进行优化,并用于回归预测.......