【Python】基础语法 2(顺序结构、条件语句、循环语句)

1. 顺序结构

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

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

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

2. 条件语句

什么是条件语句

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

2.1 语法格式

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 expression:
   do_something1
elif:
   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 表示躺平摆烂

choice = input("输入 1 表示认真学习,输入 2 表示躺平摆烂: ")
if choice == '1':
    print("你会找到好工作!")
elif choice == '2':
    print("你可能毕业就失业!")
else:
    print("你的输入有误!")

在这里插入图片描述

2.2 缩进和代码块

代码块 指的是一组放在一起执行的代码。
在 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 内部的代码块. 意味着条件无论是否成立, 都会执行。

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

a = input("请输入第一个整数: ")
b = input("请输入第二个整数: ")
if a == "1":
    if b == "2":
        print("hello")
    print("world")
print("python")

在这个代码中,

  • print(“hello”) 具有两级缩进, 属于 if b == “2” 条件成立的代码块。
  • print(“world”) 具有一级缩进, 属于 if a == “1” 条件成立的代码块。
  • print(“python”) 没有缩进, 无论上述两个条件是否成立, 该语句都会执行。

在 Python中,缩进表示代码块。在 if, else, elif, whie, foe …需要更上代码块的部分,都是需要使用缩进来表示的。如果缩进书写的不对, 则直接报错。
当有多条件嵌套的时候,当前语句属于哪个代码块,完全取决于缩进级别。

2.3 练习

(1)输入一个整数,判断是否是奇数

a = int(input("请输入一个整数:"))
if a % 2 == 0:
    print("偶数")
else:
    print("奇数")

(2)输入一个整数判断是正数还是负数

a = int(input("请输入一个整数:"))
if a > 0:
    print("正数")
elif a < 0:
    print("负数")
else:
    print("为0")

(3)判断年份是否是闰年
代码示例1:

year = int(input("请输入年份:"))
if year % 100 == 0:
    # 判定世纪闰年
    if year % 400 == 0:
        print("闰年")
    else:
        print("平年")
else:
    # 判定普通闰年
    if year % 4 == 0:
        print("闰年")
    else:
        print("平年")

代码示例2:

year = int(input("请输入年份:"))
if(year % 100 and year % 4 == 0) or year % 400 == 0:
    print("闰年")
else:
    print("平年")

2.4 空语句 pass

代码示例:输入一个数字,如果数字为1,则打印 hello

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

这个代码也可以等价写成

a = int(input("请输入一个数字:"))
if a != 1:
    pass
else:
    print("hello")

其中 pass 表示空语句,并不会对程序的执行有任何影响,知识占个位置,保持 Python 语法格式符合要求。

如果代码不加 pass 这样写,程序是不符合 Python语法的,会直接报错。

a = int(input("请输入一个数字:"))
if a != 1:
   
else:
    print("hello")

3. 循环语句

3.1 while 循环

基本语法格式

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

while 循环需注意:

  1. 循环变量的初始值
  2. 循环的判定条件
  3. 循环变量的更新语句
    如果忘记写了更新变量的语句,循环会一直执行,停不下来,直到手动强制结束程序。(死循环)
  • 代码示例1:打印 1-10 的整数
num = 1
while num <= 10:
    print(num)
    num += 1
  • 代码示例2:计算1-100 的和
sum = 0
num = 1
while num <= 100:
    sum += num
    num += 1
print(sum)
  • 代码示例3 :计算 5 的阶乘
result = 1
n = 1
while n <= 5:
    result *= n
    n += 1
print(result)
  • 代码示例4: 求 1! + 2! + 3! + 4! + 5!
num = 1
# sum表示最终的加和结果
sum = 0
while num <= 5:
   # 先计算当前 num! 是多少,往 sum 上累加
   factorResult = 1
   i = 1
   while i <= num:
       factorResult *= i
       i += 1
   sum += factorResult
   num += 1
print(sum)

这个程序用到了两重循环,也就是在循环语句中也可以套循环。

3.2 for 循环

基本语法格式

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

注意:

  • python 的 for 和其他语言不同, 没有 “初始化语句”, “循环条件判定语句”, “循环变量更新语句”, 而是更加简单
  • 所谓的 “可迭代对象”, 指的是 “内部包含多个元素, 能一个一个把元素取出来的特殊变量”
  • 代码示例1:打印 1-10
for i in range(1, 11):
    print(i)

range 是一个内建函数,起到的效果就是得到一个“可迭代对象”。这个可迭代对象中包含了一系列的整数。
range(beg,end) => [beg, end) 前闭后开区间

  • 示例代码2:打印 2,4,6,8,10
    range 还提供了第三个参数,表示“步长”,默认的步长的值是 1。
for i in range(2, 12, 2):
    print(i)
  • 代码示例3:打印 10-1
    range 的 步长 也可以设定成负数。
for i in range(10,0,-1):
    print(i)
  • 代码示例4:求1-100的和
sum = 0
for i in range(1, 101):
    sum += 1
print(sum)

3.3 continue

continue 表示结束当前这次循环,进入下次循环。
示例代码:

for i in range(1, 6):
    if i == 3:
        continue
    print(i)    

在这里插入图片描述

当 i = 3的是时候遇上了 continue, continue 表示结束当前这次循环,进入下次循环。所以打印的是1 2 4 5。

3.4 break

break 表示结束整个程序。
示例代码:

for i in range(1, 6):
    if i == 3:
        break
    print(i)

在这里插入图片描述

当 i = 3的是时候遇上了 break,break 表示结束整个程序。所以打印的是1 2。

本章到这里就结束啦,如果有哪里写的不好的地方,请指正。
如果觉得不错并且对你有帮助的话请给个三连支持一下吧!
Fighting!!!✊

猜你喜欢

转载自blog.csdn.net/qq_68661624/article/details/128140201