python基础语法——条件语句和循环语句

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
简介: 本文基于pycharm编译器,也可以使用Anaconda 里的编译器,将讲解一些python的一些基础语法知识,是对上篇文章的补充,可以和我写的python数据分析——Python语言基础(数据结构基础)结合起来看,有些知识点可能在这篇文章写的不是很全面。

基础语法


前言

本文基于pycharm编译器,也可以使用Anaconda 里的编译器,将讲解一些python的一些基础语法知识,是对上篇文章的补充,可以和我写的python数据分析——Python语言基础(数据结构基础)结合起来看,有些知识点可能在这篇文章写的不是很全面。


顺序语句

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

print("1")
print("2")
print("3")

执行结果一定为 “123”,而不会出现 “321” 或者 “132” 等. 这种按照顺序执行的代码,我们称为顺序语句.

这个顺序是很关键的.编程是一件明确无歧义的事情.安排好任务的顺序计算机才能够正确的进行执行.

就好像人生的顺序,是上学,工作,结婚,生子.一旦这里的顺序乱了,就很麻烦.

条件语句

什么是条件语句

条件语句能够表达 “如果 … 否则…” 这样的语义. 这构成了计算机中基础的逻辑判定条件语句也叫做分支语句, 表示了接下来的逻辑可能有几种走向.

在 Python 编程语言中,条件语句是一种语法结构,用于基于逻辑条件决定程序流程。

常见的条件语句包括 if、elif 和 else 语句。这些语句根据布尔值的结果来执行不同的代码块。如果布尔值为真,则执行 if 语句下的代码块;如果为假,则执行 else 语句下的代码块。 elif 语句可用于添加额外的条件,以便在满足特定条件时执行其他代码块。

例如,以下是一个简单的 if 语句,用于检查一个数字是否大于等于 10;

x = 5
if x >= 10:
    print("x is greater than or equal to 10")
else:
    print("x is less than 10")

在这个例子中,由于 x 的值为 5,因此会执行 else 语句下的代码块,输出 "x is less than 10"

语法格式

Python 中使用 if else 关键字表示条件语句.

(1) if

if expression:
  do_something1
  do_something2
  next_something

如果 expression 值为 True, 则执行 do_something1, do_something2, next_something

如果 expression 值为 False, 则只执行 next_something, 不执行 do_something1, do_something2

(2) if - else

if expression:
  do_something1
else:
  do_something2

如果 expression 值为 True, 则执行 do_something1

如果 expression 值为 False, 则执行 do_something2

(3) if - elif - else

if expression1:
  do_something1
elif expression2:
  do_something2
else:
  do_something3

如果 expression1 值为 True, 则执行 do_something1

如果 expression1 值为 False, expression2 值为 True,则执行 do_something2

如果 expression1 值为 False, 并且 expression2 为 False 则执行 do_something3

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

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

示例:输入 1 表示愿意认真学习,输入 2 表示躺平摆烂.

# 让用户输入一个数字,如果输入1 表示愿意认真学习,输入2 表示想躺平摆烂.
choice = input("输入 1 表示愿意认真学习,输入 2 表示躺平摆烂: ")
# 注意这里要比较的是 字符串 1 ,不是 整数 1
if choice == '1':
    print('你能够找到好工作')
elif choice == '2':
    print("你可能毕业就失业了")
else:
                        # 除了 1 和 2 其他的情况都算非法情况
    print("您的输入有误!")

缩进和代码块

代码块 指的是一组放在一起执行的代码.

在 Python 中使用缩进表示代码块. 不同级别的缩进,程序的执行效果是不同的.

代码1

a = input("请输入一个整数:")
if a == "1":
  print ("hello")
  print("world")

代码2

a = input("请输入一个整数:")
if a == "1":
  print("hello")
print ("world")

注意上述代码的区别.

在代码1 中,print (“world”)有一级缩进, 这个语句属于 if 内的代码块, 意味着条件成立才执行, 条件不成立, 则不执行.

在代码2 中,print(“world”)没有缩进,这个语句是 if 外部的代码,不属于 if 内部的代码块. 意味着条件无论是否成立, 都会执行.

在Python中,缩进表示代码块.

在if, else, elif, while, for…需要跟上代码块的部分,都是需要使用缩进来表示的.

在 C++ / Java 中, 对于代码缩进是没有强制要求的~ 缩进具体怎么写都不影响代码的编译运行结果.

如果缩进没有好好的统一风格来写,将会出现错误;

另外,代码块内部还可以嵌套代码块.

a = input("请输入第一个整数:")
b = input("请输入第二个整数:")
if a == '1':
    if b == '2':
        print("aaa")
    print("bbb")
print("ccc")

在这个代码中

print(“hello”)具有两级缩进,属于 if b == “2” 条件成立的代码块.

print(“worId”)具有一级缩进,属于 if a == “1” 条件成立的代码块.

print(“python”)没有缩进,无论上述两个条件是否成立, 该语句都会执行.

基于缩进的方式表示代码块,带来的好处就是强制要求程序猿要写明确的缩进,来明确代码之间的相对关系.如果缩进书写的不对,则直接报错.

像C++ / Java这些语言, 即使完全不写缩进, 语法也不会报错.代码可读性就比较差.

同时, 带来的坏处就是,如果缩进层次比较多,就容易分不清楚某个语句属于哪个层级.

if a == 1:
  if b == 2:
    if c == 3:
      if d == 4:
        if e== 5:
          if f == 6:
            if g == 7:
              print ("hello")
          print("1")
    print("2")

由于嵌套的层数太多了,这俩语句对应哪一级代码块, 其实是并不容易观察的!!

因此这里的写法更容易出错 相比于 C++ java 中的 {}的写法

请问,上述代码中的 print(“1”)和 print(“2”)属于哪—级缩进?

因此, 就有了 “写 Python 需要自备游标卡尺” 这个梗.

注意:

a = input("请输入一个数字:")
if a != '1':
# 啥都不做
  pass
else:
  print('hello')

在使用条件语句的适合,如果出现像上面的情况,不可以不写,必须要有语句,不然会出现报错,这时候我们要用到pass语句来解决这个问题。

循环语句

有些操作是需要反复执行的.这种就需要使用循环.

while 循环

基本语法格式

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

代码示例:打印 1-10 的整数

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

代码示例:计算 1-100 的和

sum=0
num = 1
while num <= 100:
  sum += num
  num += 1
print (sum)

代码示例:计算5 的阶乘

result = 1
n=1
while n <= 5:
  result *= n
  n+=1
print (result)

代码示例: 求 1! + 2! + 3! + 4! + 5!

num = 1
sum =0
while num <= 5:
  factorResult = 1
  i=1
  while i <= num:
    factorResult *= i
    i += 1
  sum += factorResult
  num += 1
print (sum)

for 循环

基本语法格式

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

注意:

python 的 for 和其他语言不同, 没有 “初始化语句”,“循环条件判定语句”,“循环变量更新语句”, 而是更加简单

所谓的"可迭代对象",指的是"内部包含多个元素,能一个一个把元素取出来的特殊变量"

代码示例:打印 1-10

for i in range(1, 11):
  print(i)

使用 range 函数, 能够生成一个可迭代对象. 生成的范围是 [1, 11), 也就是 [1, 10]

range 是一个 内建函数.起到的效果就是得到一个"可迭代对象"

这个可迭代对象中就包含了一系列的整数.

range(beg, end) => [beg, end)

前闭后开区间.range还提供了第三个参数~ 表示"步长" 默认的步长值是 1

当前有个内建函数, sum与自己定义的变量和内建函数冲突了

虽然不影响运行,但是代码后面就无法使用内建函数 sum

使用shift + F6可以针对变量进行重命名 会智能的分析咱们的代码,自动的把所有需要修改的名字都统一替换了

代码示例: 打印 2, 4,6,8,10

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

通过 range 的第三个参数, 可以指定迭代时候的"步长".也就是一次让循环变量加几.

代码示例: 打印 10-1

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

range的步长也可以设定成负数.

代码示例:求 1-100 的和

sum = 0
for i in range(1,101)
  sum += i
print(sum)

关于continue和break

continue 立即结束当前这次循环, 进入下次循环.

break 立即结束整个循环.

代码示例: 打印 2, 4,6,8,10

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

for i in range(2, 12, 2):
  if i == 6:
    break
  print(i)

for i in range(2, 12, 2):
  if i == 6:
    continue
  print(i)

如果对循环语句还是不太理解,可以看一下下面的文章

python数据分析——Python语言基础(数据结构基础)


相关文章
|
27天前
|
人工智能 Ubuntu IDE
【Python】基础:环境配置与基础语法
本文介绍了Python编程语言及其环境配置方法。Python由Guido van Rossum于1991年创建,以其简洁、易学和强大的功能著称。文章详细讲解了Python的主要特点、Windows和Ubuntu下的安装配置步骤、基础语法、控制流、函数、文件操作、模块使用及面向对象编程等内容,帮助读者快速入门Python编程。
52 4
|
6天前
|
机器学习/深度学习 数据挖掘 开发者
Python编程入门:理解基础语法与编写第一个程序
【10月更文挑战第37天】本文旨在为初学者提供Python编程的初步了解,通过简明的语言和直观的例子,引导读者掌握Python的基础语法,并完成一个简单的程序。我们将从变量、数据类型到控制结构,逐步展开讲解,确保即使是编程新手也能轻松跟上。文章末尾附有完整代码示例,供读者参考和实践。
|
17天前
|
存储 Python Perl
python正则语法
本文介绍了正则表达式的基础知识及其在 Python 中的应用。首先解释了为什么要使用正则表达式,通过一个判断手机号的示例展示了正则表达式的简洁性。接着详细介绍了 `re` 模块的常用方法,如 `match()`、`search()`、`findall()`、`finditer()` 等,并讲解了正则表达式的基本语法,包括匹配单个字符、数字、锚字符和限定符等。最后,文章还探讨了正则表达式的高级特性,如分组、编译和贪婪与非贪婪模式。
15 2
|
19天前
|
人工智能 Python
[oeasy]python039_for循环_循环遍历_循环变量
本文回顾了上一次的内容,介绍了小写和大写字母的序号范围,并通过 `range` 函数生成了 `for` 循环。重点讲解了 `range(start, stop)` 的使用方法,解释了为什么不会输出 `stop` 值,并通过示例展示了如何遍历小写和大写字母的序号。最后总结了 `range` 函数的结构和 `for` 循环的使用技巧。
29 4
|
24天前
|
Java 索引 Python
【10月更文挑战第19天】「Mac上学Python 30」基础篇11 - 高级循环技巧与应用
本篇将介绍更深入的循环应用与优化方法,重点放在高级技巧和场景实践。我们将讲解enumerate()与zip()的妙用、迭代器与生成器、并发循环以及性能优化技巧。这些内容将帮助您编写更高效、结构更合理的代码。
59 5
|
22天前
|
存储 程序员 开发者
Python编程入门:从零开始掌握基础语法
【10月更文挑战第21天】本文将带你走进Python的世界,通过浅显易懂的语言和实例,让你快速了解并掌握Python的基础语法。无论你是编程新手还是想学习一门新的编程语言,这篇文章都将是你的不二之选。我们将一起探索变量、数据类型、运算符、控制结构、函数等基本概念,并通过实际代码示例加深理解。准备好了吗?让我们开始吧!
|
1月前
|
数据安全/隐私保护 Python
Python循环语句
【10月更文挑战第7天】
|
1月前
|
存储 C语言 索引
Python 语法及入门 (超全超详细) 专为Python零基础 一篇博客让你完全掌握Python语法
本文全面介绍了Python的基础知识,包括Python的诞生背景、为什么学习Python、Python的应用场景、Python环境的安装、Python的基础语法、数据类型、控制流、函数以及数据容器的使用方法,旨在为Python零基础读者提供一篇全面掌握Python语法的博客。
41 0
Python 语法及入门 (超全超详细) 专为Python零基础 一篇博客让你完全掌握Python语法
|
1月前
|
编译器 数据安全/隐私保护 Python
Python 条件语句
【10月更文挑战第6天】
|
1月前
|
Java C++ Python
【Python】循环语句(while、for)、continue、break
【Python】循环语句(while、for)、continue、break
36 0