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

Python 基础教程【2】:条件语句和循环语句

在这里插入图片描述

本文已收录于专栏
🌻
《Python 基础》

文章目录

  • 1、流程控制语句
    • 1.1 顺序语句
    • 1.2 条件语句
      • 1.2.1 if语句注意事项
      • 1.2.2 三元运算符
      • 1.2.3 自动类型转换
    • 1.3 循环语句
      • 1.3.1 while 循环
      • 1.3.2 for-in 循环
      • 1.3.3 for...else 循环
      • 1.3.4 break 和 continue 的区别
  • 2、实践——猜数字游戏

1、流程控制语句

1.1 顺序语句

默认情况下,Python的代码执行顺序是按照从上而下的顺序,依次执行的

1.2 条件语句

条件语句也叫做 “分支语句”
使用 if else 关键字表示条件语句

'''
if语句的格式:
if 条件:
    条件成立要执行的语句
    
if 条件:
    条件成立要执行的语句
else:
    条件不成立要执行的语句

if 条件1:
    条件1成立要执行的语句
elif 条件2:
    条件2成立要执行的语句
else:
    条件1,2不成立要执行的语句
'''

1.2.1 if语句注意事项

Python中的条件语句写法,和很多编程语言不太一样

  • if 后面的条件表达式,没有(),而是使用 : 结尾
  • if/else 中条件后要执行的“语句块”,使用缩进(通常是4个空格或者一个tab)来表示, 而不是{}
  • 对于多条件分支,不是写作 else if,而是 elif(合体了)

1.2.2 三元运算符

变量 = 值1 if 条件 else 值2

当条件成立时,把值1赋值给变量,条件不成立时,把值2赋值给变量

1.2.3 自动类型转换

if 语句需要一个判断条件,这个判断条件的结果需要一个布尔值,如果此时输入的判断条件不是一个布尔值,在代码执行的过程中,会将这个值 自动转换 成为一个布尔值

在 Python 中,转换为 布尔值时,只有 0""''None(){}[] 会被转换成 False ,其他都会转换成 True

1.3 循环语句

循环结构就是程序中控制某条或某些指令重复执行的结构。在Python中构造循环结构有两种做法,一种是for-in循环,一种是while循环

1.3.1 while 循环

条件为真,则执行循环体代码
条件为假,则结束循环

'''
while 条件:
    要循环执行的代码
'''

练习:

打印 1-10 的数字

i = 1
while i <= 10:
    print(i)
    i = i + 1

打印 1-50 之间能被3整除的数字

n = 1
while n <= 50:
    if n % 3 == 0:
        print(n)
    n += 1

1.3.2 for-in 循环

for 循环变量 in 可迭代对象
    循环体

注意:

  • Python 的 for 和其他语言不同,没有 “初始化语句”,“循环条件判定语句”,“循环变量更新语句”,而是更加简单
  • 所谓 “可迭代对象”,指的是内部包含多个元素,能一个一个把元素取出来的特殊变量

练习:

打印1~10

for i in range(1, 11):
    print(i)
  • 使用 range 函数,能够生成一个可迭代对象,生成的范围是[1,11),也就是[1,10]
  • rang 函数还提供了 第三个参数表示 “步长”,默认的步长值是 1
  • rang(n) :默认从0开始取值到n-1结束

打印 2、4、6、8、10

for i in range(2, 12, 2):
    print(i)

打印10~1

for i in range(10, 0, -1):
    print(i)

1.3.3 for…else 循环

'''
for i in range(n):
    循环体
else:
    如果上面的for循环 0~n-1 没有出现中断(break),
    执行else
'''

1.3.4 break 和 continue 的区别

break: 终止它所在的那个循环
continue: 结束本次循环,进入下一轮循环

2、实践——猜数字游戏

import random

answer = random.randint(1, 100)
counter = 0
while True:
    counter += 1
    number = int(input('请输入: '))
    if number < answer:
        print('大一点')
    elif number > answer:
        print('小一点')
    else:
        print('恭喜你猜对了!')
        break
print('你总共猜了%d次' % counter)
if counter > 7:
    print('你要加油嗷~')

代码说明:

使用 random 函数中的 randint 方法 随机生成一个1~100的整数(包含1和100)

使用一个 while 循环, 支持用户多次从键盘输入数字,使用 if…elif…else 分支语句, 对用户输入的数字与程序提前随机生成的数字进行大小比较

使用 counter 这个变量记录用户输入次数


http://www.kler.cn/a/503.html

相关文章:

  • PyQt实战——随机涂格子的特色进度条(十一)
  • RTOS 基础知识
  • 如何检查交叉编译器gcc工具链里是否有某个库(以zlib库和libpng库为例)
  • 网络安全之接入控制
  • Linux -- 互斥的底层实现
  • lxml 解析xml\html
  • 蓝桥杯刷题冲刺 | 倒计时24天
  • 【pygame游戏】Python实现蔡徐坤大战篮球游戏【附源码】
  • 17.电话号码的字母组合(深度递归遍历解决经典老题)
  • Python的30个编程技巧
  • 软测面试了一个00后,绝对能称为是内卷届的天花板
  • 数据结构One——绪论
  • ChatGPT是如何训练得到的?通俗讲解
  • 程序员必会技能—— 使用日志
  • 【IoT】嵌入式驱动开发:IIC子系统
  • Qt浏览器开发:关于QCef以及qcefview开发原理
  • 做技术,最忌讳东张西望
  • ChatGPT解答:python大批量读写ini文件时,性能很低,有什么解决方法吗,给出具体的思路和实例
  • Spring学习——MyBatisPlus入门
  • 极智AI | GPT4来了,ChatGPT又该升级了
  • JS学习第11天——函数进阶(this指向、严格模式、高阶函数、闭包、递归)
  • 一个nginx的小项目,不写代码,实现在局域网内访问其他电脑的网页
  • 裸辞3个月,面试了25家公司,终于找到心仪的工作了
  • C#基础之面向对象编程(二)
  • MySQL:JDBC
  • 快速测试两台服务器间的网速(ChatGPT回复)