Python学习日志03

2021/7/22 22:10:25

本文主要是介绍Python学习日志03,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Python学习日志

RBHGO的主页欢迎关注
创作不易,如有转载,请注明出处,感谢!

目录

文章目录

    • Python学习日志
      • 目录
      • 第03课:Python分支和循环结构
        • 注释你的代码
        • 进入今天的正题
        • Python的分支结构
          • 1.分支结构的应用场景
          • 2.if语句的使用
        • Python的循环结构
          • 1.循环结构的应用场景
          • 2.for.in循环
          • 3.while循环
          • 4.break和continue
        • 总结

第03课:Python分支和循环结构

首先和大家分享python注释

注释你的代码

注释是编程语言的一个重要组成部分,用于在源代码中解释代码的作用从而增强程序的可读性。当然,我们也可以将源代码中暂时不需要运行的代码段通过注释来去掉,这样当你需要重新使用这些代码的时候,去掉注释符号就可以了。简单的说,注释会让代码更容易看懂但不会影响程序的执行结果

Python中有两种形式的注释:

  1. 单行注释:以#和空格开头,可以注释掉从#开始后面一整行的内容。

  2. 多行注释:三个引号开头,三个引号结尾,通常用于添加多行说明性内容。(三个双引号和单引号都行,一般建议用双引号。其实他们表示的都是字符串;至于三引号则表示的是可以换行的字符串。在每一行的末尾都会加上一个换行符(\n))

    温馨提示:切记引号的嵌套引用

    • 外面使用单引号,里面使用双引号,或者反过来,但是不可以里外都是同一种引号。
    • 外面使用三引号,里面无论使用双引号,还是单引号都不会出问题。

进入今天的正题

刚开始我们写的Python代码都是一条一条语句顺序执行,这种代码结构通常称之为顺序结构。然而仅有顺序结构并不能解决所有的问题。面对要解决一些包含需要选择和重复的问题,就引出来Python的分支结构和循环结构。分支和循环结构很重要,它是构造程序逻辑的基础,对于我们初学者来说也是相对困难的部分。大部分初学者在学习了分支和循环结构后都能理解它们的用途和用法,但是遭遇到实际应用的时候又很难动手;看懂大佬的代码不难,但是要自己写出同样的代码却又很难。如果你也有同样的问题和困惑,千万不要沮丧,这只是因为我们才刚刚开始编程之旅,练习量还没有达到可以随心所欲的写出各种代码的程度,只要加强编程练习,这个问题迟早会解决的。现在让我们开始了解并学习Python的分支和循环结构。

Python的分支结构

1.分支结构的应用场景

面对选择问题的时候就是分支结构的应用场景,比如给一个数,问它是不是偶数,这里就有一个”是不是的问题“,这里就会产生两个分支,而且这两个分支只有一个会被执行。这时候我们当然应该拿给到的数去除以2,如果没有余数就是偶数,有余数就不是偶数(奇数)。

2.if语句的使用

在Python中,要构造分支结构可以使用ifelifelse关键字。所谓关键字就是有特殊含义的单词,像ifelse就是专门用于构造分支结构的关键字,很显然你不能够使用它作为变量名。不同于其他的编程语言Python中没有用花括号来构造代码块而是使用了缩进的方式来表示代码的层次结构,如果if条件成立的情况下需要执行多条语句,只要保持多条语句具有相同的缩进就可以了。(建议打四个空格来实现缩进,少用制表键)

温馨提示:代码块:保持相同的缩进的代码属于同一个代码块

一个简单的分支结构例子

username = input('用户名:')
password = input('密码:')   
if username == 'RBHGO' and password == '123456':
    print('登陆成功!欢迎使用LSP系统')
    print('人工客服:138-138-1438')
else:
    print('登陆失败!用户名或密码错误')

在这里插入图片描述

提示ifelse 的最后面有一个:,它是用英文输入法输入的冒号;程序中输入的'"=()等特殊字符,都是在英文输入法状态下输入的。有很多初学者经常不注意这一点,结果运行代码的时候就会遇到很多莫名其妙的错误提示。强烈建议大家在写代码的时候都打开英文输入法(注意是英文输入法而不是中文输入法的英文输入模式),这样可以避免很多不必要的麻烦。

用程序来实现一个分段函数
f ( x ) = { x 2 , x > 1 x + 2 , − 1 ≤ x ≤ 1 3 x − 1 , x < − 1 f(x) = \begin{cases} x^2 , & x \gt 1 \\ x + 2, & -1 \le x \le 1 \\ 3x - 1, & x \lt -1 \end{cases} f(x)=⎩⎪⎨⎪⎧​x2,x+2,3x−1,​x>1−1≤x≤1x<−1​

x = float(input('x= '))
if x > 1:
    y = x ** 2
elif x >= -1:
    y = x + 2
else:
    y = 3 * x - 1
print(f'f(x) = {y}')
# 另一种写法
x = float(input('x= '))
if x > 1:
    y = x ** 2
else:
    if x >= -1:
        y = x + 2
    else:
        y = 3 * x - 1
print(f'f(x) = {y}')

温馨提示:这两种方法都能实现这个分段函数,但是第一种更好,不是狭义的因为少一行。而是少一个if分支结构,对于用到分支和循环的结构的程序,嵌套越少越好,因为可读性会更强。(Flat is better than nested.)

Python的循环结构

1.循环结构的应用场景

面对重复问题的时候就是循环结构的应用场景,比如如果要求实现每隔1秒中在屏幕上打印一次“hello, world”并持续打印半小时,我们肯定不能够直接把print('hello, world')这句代码写1800遍,这里就需要循环结构来做这个重复工作。

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

2.for.in循环

如果明确的知道循环执行的次数,我们推荐使用for-in循环,例如计算1到100的和。 被for-in循环控制的语句块也是通过缩进的方式来确定的,这一点跟分支结构完全相同,举一个计算1到100的和的例子。

# 用for循环实现1-100的和
num = 0
for i in range(0, 101):
    num += i
print(f'1- 100的和为 = {num}')

需要说明的是上面代码中的range(1, 101)可以用来构造一个从1到100的范围,当我们把这样一个范围放到for-in循环中,就可以通过前面的循环变量x依次取出从1到100的整数。当然,range的用法非常灵活,下面给出了一个例子:

  • range(101):可以用来产生0到100范围的整数,需要注意的是取不到101。
  • range(1, 101):可以用来产生1到100范围的整数,相当于前面是闭区间后面是开区间。
  • range(1, 101, 2):可以用来产生1到100的奇数,其中2是步长,即每次数值递增的值。
  • range(100, 0, -2):可以用来产生100到1的偶数,其中-2是步长,即每次数字递减的值。
3.while循环

如果要构造不知道具体循环次数的循环结构,我们推荐使用while循环。while循环通过一个能够产生或转换出bool布尔)值的表达式来控制循环,表达式的值为True则继续循环;表达式的值为False则结束循环。当然不知道具体循环次数的循环结构,while循环都可以解决,自然上面的问题也不知话下。

# 用while循环实现1 -100的和
total = 0
i = 0
while i < 100:
    i += 1
    total += i
print(f'1- 100的和为 = {total}')
4.break和continue

上面的代码中使用while True构造了一个条件恒成立的循环,也就意味着如果不做特殊处理,循环是不会结束的,这也就是常说的“死循环”。为了在用户猜中数字时能够退出循环结构,我们使用了break关键字,它的作用是提前结束循环。需要注意的是,break只能终止它所在的那个循环,这一点在使用嵌套循环结构时需要引起注意。除了break之外,还有另一个关键字是continue,它可以用来放弃本次循环后续的代码直接让循环进入下一轮。

虽然不应该过多使用嵌套的分支结构和循环结构,但是生活中不如意之事十有八九,我们难以避免这种结构的出现。和分支结构一样,循环结构也可以嵌套,也就是说在循环中还可以构造循环结构。例如一个百钱买百鸡的问题。

'''
百钱百鸡问题(100块钱买100只鸡)
鸡翁一值钱5,鸡母一值钱3,鸡雏三值钱1
'''
for x in range(0, 21):
    for y in range(0, 34):
        z = 100 - x - y
        if z % 3 == 0 and x * 5 + y * 3 + z // 3 == 100:
            print(f'100块钱能买鸡翁{x}只 鸡母{y}只 鸡雏{z}只 共100只')

百钱百鸡问题

总结

学会了Python中的分支结构和循环结构,我们就可以用Python程序来解决很多实际的问题了。通过阅读这篇文章大家应该了解了ifelifelse这几个关键字以及如何使用它们来构造分支结构;还有可以用forwhile关键字来构造循环结构。如果知道循环的次数,我们通常使用for**循环;如果循环次数不能确定,可以用while循环。在循环中还可以使用break来提前结束循环。

感谢学习陪伴,您的点赞,评论就是我更新的动力



这篇关于Python学习日志03的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程