IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python基础知识2------判断语句、循环语句 -> 正文阅读

[Python知识库]python基础知识2------判断语句、循环语句

一、复习:

数据类型转换:数据本来的类型不是我们计算使用想要的类型

int()将其他类型转换为int类型(小数,整数类型的字符串)

float()将其他类型转换为float类型(整数,数字类型的字符串)

str()将其他类型转换为str类型(任意类型)

函数:作用 语法

type(变量) 可以获取变量的数据类型

input()? ?获取键盘的输入

变量=input('提示性信息')? ? ? ?#提示性信息可以随便写,目的是让别人知道要做什么事

二、字符串格式化的补充

字符串 . format()??? 可以在任意版本中使用

1.在需要使用变量的地方使用{}占位

2.'{},{},...'.format(变量,变量,...)

代码示例:

name = '小米'
age = 12
height = 1.2
stu_num = 1
num = 90
# print('我的名字是xx,年龄是xx,身?是xx ,学号xx,本次考试的及格率为xx%')
print(f'我的名字是{name},年龄是{age},身?是{height}m ,学号{stu_num},本次考试的及格率为{num}%')
# ?般不会有这样的需求
print(f'我的名字是{name},年龄是{age},身?是{height:.3f} m,学号{stu_num:03d},本次考试的及格率为{num}%')
# 在字符串中想要输出换?\n (转义字符)
print(f'我的名字是{name},年龄是{age},身?是{height:.3f}m ,学号{stu_num:03d},\n本次考试的及格率为{num}%')

# 字符串 . format()
print('我的名字是{},年龄是{},身?是{}m ,学号{},本次考试的及格率为{}%'.format(name, age, height, stu_num, num))

三、运算符

逻辑运算符

逻辑运算符:可以连接多个条件,在判断和循环中使用

and? ?逻辑与? ?和, 并且? ? and连接两个条件,都必须为True,整体结果才为True,即一假为假(当第一个条件为False的时候,第二个条件就不再判断)

or? ? 逻辑或? 或者? ? or连接的两个条件,只要有一个条件为True,整体结果就为True,即一真为真(当第一个条件为True的时候,第二个条件就不再判断)

not? ?逻辑非? ?取反? ? not后边的条件,如果本来是True,变为False,本来是False,变为True

赋值运算符

赋值运算符 =, 作用就是将等号右边的值保存到等号左边的变量中

复合赋值运算符(将算术运算符和赋值运算符进行结合)

+=? -=? ?*=? ?/=? ?//=? %=? ?

a+=b===>a=a+b?

运算符优先级

不需要刻意去记忆优先级,因为可以使用()改变优先级

四、判断

日常生活中说的如果...否则....,这个就是判断,在程序代码中需要使用if(如果)elif(如果)else(否则)三个关键字来实现

在代码中有判断语句,代码不会全部执行,会有一部分不会执行

if的基本结构

即 只有?如果的情况,如果的条件成立,会执行的代码,会做的事

基本语法

if判断条件:

????????书写条件成立(真),执行的代码

????????书写条件成立(真),执行的代码

顶格书写,没有缩进的代码,和if无关,不管条件是否成立,都会执行

#1.if是一个关键字,和后续的判断条件之间需要一个空格

#2.判断条件后边需要一个冒号,不要少了

#3.冒号之后,回车,代码需要缩进,在pycharm中会自动进行缩进,一般是4个空格或者一个tab键

#4.所有在if代码下方的缩进中书写的代码,属于if语句的代码块,判断条件为True的时候会执行

#5.if代码块中的代码,要么都执行,要么都不执行

#6.if代码块结束之后,代码要顶格书写(不再有缩进),表示是和if无关的代码

代码案例

1、使用input获取用户的年龄

2.判断年龄是否满足18岁

3.如果年龄大于等于(满足)18岁,输出'满18岁了,可以进入网吧为所欲为了'

练习

# 使用input获取用户年龄,类型是str
age = input('请输入年龄')
# 判断年龄是否满足18岁
if int(age) >= 18:         # 类型是int,字符串和int类型不能比大小,先类型转换,再比大小
    # 如果年龄大于等于 (满足)18岁,输出'满18岁了,可以进入网吧为所欲为了
    print('满18岁了,可以进入网吧为所欲为了')

print('我和if判断没有关系,不管怎样,都会执行')

if else结构

如果条件成立做什么事否则(条件不成立)做另一件事

  • 基本语法:

if判断条件:

????????书写条件成立(真),执行的代码

????????书写条件成立(真),执行的代码

else:

????????书写条件不成立(假),执行的代码

????????书写条件不成立(假),执行的代码

#1.else是关键字,后边需要冒号

#2.冒号之后回车,同样需要缩进

#3.处于else代码下方缩进中的内容,属于else的代码块

#4.if和else的代码块,只会执行其中的一个

#5.else需要结合if使用

#6.ifelse之间不能有其他顶格书写的内容(不提elif)

  • 代码案例:

1.使用input获取用户的年龄

2.判断年龄是否满足18岁

3.如果年龄大于等于(满足)18岁,输出'满18岁了,可以进入网吧为所欲为了'

4.如果不满足,输出'不满18岁,回去写作业吧

# 使用input获取用户年龄,类型是str
age = input('请输入年龄')
# 判断年龄是否满足18岁
if int(age) >= 18:         # 类型是int,字符串和int类型不能比大小,先类型转换,再比大小
    # 如果年龄大于等于 (满足)18岁,输出'满18岁了,可以进入网吧为所欲为了
    print('满18岁了,可以进入网吧为所欲为了')
    # 如果年龄不满足,输出'不满18岁,回家写作业吧'
else:
    print('不满18岁,回家写作业吧')

if和逻辑运算符结合使用

案例1:

1.获取用户输入的用户名和密码

2.判断用户名是admin并且密码是123456时,在控制台输出:登录成功!

3.否则在控制台输出:登录信息错误!

# 1.获取用户输入的用户名和密码
name = input('请输入用户名:')
pwd = input('请输入密码:')
# 2.判断用户名是admin并且密码是123456时,在控制台输出:登录成功!
if name == 'admin' and pwd == '123456':
    print('登录成功!')
# 3.否则在控制台输出:登录信息错误!
else:
    print('登录信息错误')

案例2:

1.获取用户输入的用户名

2.判断用户名是admin时,在控制台输出:欢迎admin登录!

3.用户名是test时,在控制台输出:欢迎test登录!

4.如果是其他信息,在控制台输出:查无此人!

# 1.获取用户输入的用户名
username = input('请输入用户名:')
# 2.判断用户名是admin时,在控制台输出:欢迎admin登录!
# 3.用户名是test时,在控制台输出:欢迎test登录!
if username == 'admin' or username == 'test':
    print(f'欢迎 {username} 登录')
# 4.如果是其他信息,在控制台输出:查无此人!
else:
    print('查无此人')

if elif else结构

如果某个判断条件有多个,此时建议使用ifelifelse结构来实现

  • 语法

if判断条件1:

????????判断条件1成立,执行的代码?

elif判断条件2:? ? ?#只有判断条件1不成立,才会判断判断条件2

????????判断条件2成立执行的代码

else:以上条件都不成立,执行的代码

#1.elif也是关键字,后边和判断条件之间需要一个空格,判断条件之后需要冒号

#2.冒号之后回车需要缩进,处在这个缩进中的的代码表示是elif的代码块

#3.在一个if判断中,可以有很多个elif

#4.只有if的条件不成立,才会去判断elif的条件

#5.在一个if中,如果有多个elif,只要有一个条件成立,后续的所有都不再判断

#6.ifelifelse结构,和if的缩进相同的只能是elif和else,如果是其他的,就表示这个判断结构结束了

if判断条件1:

????????执行的代码

if判断条件2:

????????执行的代码

if判断条件3:

????????执行的代码?

#多个if的结构,每个if都会进行判断,之间没有关联系

  • 案例

1.定义score变量记录考试分数

2.如果分数是大于等于90分应该显示优

3.如果分数是大于等于80分并且小于90分应该显示良

4.如果分数是大于等于70分并且小于80分应该显示中

5.如果分数是大于等于60分并且小于70分应该显示差

6.其它分数显示不及格

elif实现

# 1.定义score变量记录考试分数
score = int(input('请输入你的分数'))
# 2.如果分数是大于等于90分应该显示优
if score >= 90:
    print('优')
# 3.如果分数是大于等于80分并且小于90分应该显示良
elif (score >= 80) and score < 90:
    print('良')
# 4.如果分数是大于等于70分并且小于80分应该显示中
#andscore<80可以不写的,原因只有上边一个判断条件不成立(一定满足score<80),才会执行这个
elif score >= 70 and score < 80:
    print('中')
# 5.如果分数是大于等于60分并且小于70分应该显示差
elif score >= 60 :
    print('差')
# 6.其它分数显示不及格
else:
    print('不及格')

多个if实现

# 1.定义score变量记录考试分数
score = int(input('请输入你的分数'))
# 2.如果分数是大于等于90分应该显示优
if score >= 90:
    print('优')
# 3.如果分数是大于等于80分并且小于90分应该显示良
if (score >= 80) and score < 90:
    print('良')
# 4.如果分数是大于等于70分并且小于80分应该显示中
#andscore<80可以不写的,原因只有上边一个判断条件不成立(一定满足score<80),才会执行这个
if (score >= 70) and score < 80:
    print('中')
# 5.如果分数是大于等于60分并且小于70分应该显示差
if (score >= 60) and score < 70:
    print('差')
# 6.其它分数显示不及格
if score < 60:
    print('不及格')

Debug调试代码

debug在代码中出现问题错误(bug),可以使用debug来调试代码,查找错误.

我们使用debug主要用来查看代码的执行步骤

1、打断点:

在pycharm中,代码和行号之间进行点击,出现小红点即打断点,再次点击小红点会取消断点

断点的位置,一般来说会在代码的第一行(在程序运行的时候,想要在什么地方停下来)

注意点:可能会出现的bug(pycharm软件的问题):代码中只有一个断点的时候不能debug调试查看代码执行过程,解决方案,在代码其他任意地方多加一个断点

2、?右键debug运行代码

3.单步执行代码

?

if嵌套

if嵌套,是指在一个if? ?(?elif? ?else)中嵌套另一个if.

使用场景:判断条件存在递进关系(只有第一个条件满足了,才会判断第二个条件)

  • 语法

if判断条件1:

????????判断条件1成立,执行的代码

????????if判断条件2:

????????????????判断条件2成立,执行的代码

????????else:

????????????????判断条件2不成立,执行的代码

else:

????????判断条件1不成立,执行的代码

  • 代码案例:

取款机取钱的过程,假定你的密码是:123456,账户余额为1000

1.提示用户输入密码

2.判断密码是否正确

3.密码正确后,提示输入取款的金额,

4.判断取款的金额和余额的关系

# 取款机取钱的过程,假定你的密码是:123456,账户余额为1000
pwd = '123456'
money = 1000
# 1.提示用户输入密码
password = input('请输入密码:')
# 2.判断密码是否正确
if password == pwd:
    print('密码正确,登录成功')
    # 3.密码正确后,提示输入取款的金额
    get_money = int(input('请输入要取款的金额'))
    # 4.判断取款的金额和余额的关系
    if money >= get_money:
        print('取款成功')
    else:
        print('余额不足')
else:
    print('密码错误,请再次尝试')

  • 练习:

假定某网站用户名固定为'admin',密码固定为'123456',验证码固定为'8888'

1.获取用户输入的用户名,密码和验证码

2.先判断验证码是否正确,如果正确打印输出验证码正确,再判断用户名和密码是否正确

3.如果验证吗不正确,直接输出验证码不正确,请重新输入

# 假定某网站用户名固定为'admin',密码固定为'123456',验证码固定为'8888'
# 1.获取用户输入的用户名,密码和验证码
username = input('请输入用户名')
pwd = input('请输入密码')
code = input('请输入验证码')
# 2.先判断验证码是否正确,如果正确打印输出验证码正确,再判断用户名和密码是否正确
if code == '8888':
    print('验证码正确')
    if username == 'admin' and pwd == '123456':
        print('用户名密码正确,登录成功')
    else:
        print('用户名或者密码不正确,请再次尝试')
# 3.如果验证吗不正确,直接输出验证码不正确,请重新输入
else:
    print('验证码不正确,请重新输入')

案例:

猜拳游戏:剪刀、石头、布

案例的步骤:

1.自己出拳(石头(1)/剪刀(2)/布(3))input(player)

2.电脑随机出拳(使用随机数模块(工具)完成)(computer)

3.判断输赢

3.1玩家胜利

????????3.1.1player==1andcomputer==2

????????or

????????3.1.2player==2andcomputer==3

????????or

?????????3.1.3player==3andcomputer==1

3.2 平局????????player==computer

3.3? 玩家输了? ?else

随机出拳:

案例中需要电脑随机出拳,即随机出123

在Python中想要随机获得整数数字可以使用如下方法

#1.导入随机数工具包importrandom

#2.使用工具包中的工具产生指定范围内的数字

random.randint(a,b)? ? ? #产生[a,b]之间的随机整数,包含ab的

import random#这行代码习惯性的放在第一行

num=random.randint(1,3)

print(num)
import random
# 剪刀、石头、布
# 案例的步骤
# 1.自己出拳(石头(1)/剪刀(2)/布(3)) input (player)
player = int(input('请出拳:石头(1)/剪刀(2)/布(3):'))
# 2.电脑随机出拳(使用随机数模块(工具)完成)(computer)
computer = random.randint(1,3)
# 3.判断输赢
# 3.1玩家胜利
if (player==1 and computer == 2) or (player == 2 and computer == 3) or (player == 3 and computer == 1):
    print('恭喜玩家胜利')
# 3.2 平局
elif player == computer:
    print('平局')
# 3.3  玩家输了  else
else:
    print('输了,不要放弃,再来一局')

? ?五、循环

程序开发中(写代码),有三大流程(三大结构):

1,顺序,代码从上到下,全部执行

2,分支,判断语句,代码有选择性的执行

3,循环,重复执行某一部分的代码

循环的作用就是让指定的代码重复的执行

  • 语法:

1.设置循环的初始条件(计数器)

2.书写循环的判断条件

while判断条件:

????????#3.需要重复执行的代码

????????#4.改变循环的初始条件(计数器)

#1.while是关键字

# 1.设置循环的初始条件(计数器)
i = 0
# 2.书写判断条件
while i < 100:
    # 3.重复执行的代码
    print('媳妇儿,我错了')
    # 4.改变初始条件
    # i=i+1
    i += 1

死循环和无限循环

死循环:一般是由写代码的人不小心造成的bug,代码一直不停的运行下去

无限循环:写代码的人故意让代码无限制的去执行,代码一直不停的运行下去

无限循环的使用场景:在书写循环的时候,不确定循环要执行多少次

无限循环的使用一般会在循环中添加一个if判断,当if条件成立,使用关键字break来终止循环

whileTrue:

????????重复执行的代码。 #可以在if的上边

????????if判断条件:

????????break? ? #关键字的作用就是终止循环,当代码执行遇到break,这个循环就不再执行了

????????重复执行的代码? ? #可以在if的下边

import random
# 剪刀、石头、布
while True:
    # 1.自己出拳(石头(1)/剪刀(2)/布(3)) input (player)
    player = int(input('请出拳:石头(1)/剪刀(2)/布(3)/退出(0):'))
    if player == 0:
        break
    # 2.电脑随机出拳(使用随机数模块(工具)完成)(computer)
    computer = random.randint(1,3)
    # 3.判断输赢
    # 3.1玩家胜利
    if (player == 1 and computer == 2) or (player == 2 and computer == 3) or (player == 3 and computer == 1):
        print('恭喜玩家胜利')
    # 3.2 平局
    elif player == computer:
        print('平局')
    # 3.3  玩家输了  else
    else:
        print('输了,不要放弃,再来一局')

使用循环求1-100之间偶数的和

方法一

直接找到1-100之间所有的偶数,进行相加

2? 4? 6? 8.....98? ? 100

# 1.定义变量保存求和的结果
num = 0
# 2定义循环获取1-100之间的偶数并求和
# 2.1定义初始条件
i = 2
# 2.2书写循环的条件
while i <= 100:
    # 2.3书写重复执行的代码
    num += i     # 因为每一i的值会变化num=num+i
    # 2.4改变计数器
    i += 2
# 3打印求和的结果
print('求和结果是:', num)

方法二

1.找1-100之间所有的数字

2.判断这个数字是不是偶数,如果是偶数再求和

偶数:能被2整除的数,(数字除2的余数是0)

i%2==0

num = 0
i = 1
while i<=100:
    # 判断该数字是不是偶数,如果是偶数再求和
    if i % 2 == 0:
        num += i
    # 改变计数器
    i += 1
print('求和的结果是:', num)

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-02-14 21:05:39  更:2022-02-14 21:08:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 0:02:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码