Python学习笔记 - 程序结构详解

本内容均来自在北京图灵学院Python免费全栈学习的课堂笔记

程序结构

  • 程序的三种结构:
    • 顺序
    • 循环
    • 分支

分支结构

  • 分支结构基本语法
    • if 条件表达式:
      语句1
      语句2
      语句3

双向分支

  • if…else…表达
  • 语法结构:
    if 条件表达式:
    语句1
    语句2
    语句3

    else:
    语句1
    语句2
    语句3
  • 条件表达式就是计算结果必须为布尔值的表达式
  • 表达是后面的冒号不能少
  • 注意if后面出现的语句,如果属于if语句块,则必须同一个缩进等级
  • 条件表达式结果为True执行if后面的缩进的语句块
    小案例:
# if 语句
# 字符串的真假:只有空字符串为False,其余全为True
a = "天天好好学习"
if a:
    print("牛逼")
print("愉快地玩耍")

执行结果:

牛逼
愉快地玩耍
# if...else...语句
a = "天天好好学习"
if a:
    print("牛逼")
else:
    print("愉快地玩耍")

执行结果:

牛逼

input

  • 在屏幕上输出括号内的字符串
  • 接收用户输入的内容并返回到程序
  • input返回的内容一定是字符串类型的
# input案例
gender = input("你是男生还是女生:")
print("你输入的是:" + gender)
if gender == "man":
    print("一起喝酒去")
else:
    print("好吧!再见")

执行结果:

你是男生还是女生:man
你输入的是:man
一起喝酒去

考试成绩判断

  • 成绩由用户输入
  • 90分以上:输出优秀
  • 80-90:良
  • 70-80:中
  • 60-70:及格
  • 60以下:你这傻狗子
score = input("请输入你的成绩:")
print("你输入的成绩是:" + score)
score = int(score)
if score >= 90:
    print("你很优秀")
if score >= 80 and score < 90:
    print("成绩还行")
if score >= 70 and score < 80:
    print("成绩还说得过去")
if score >= 60 and score < 70:
    print("刚及格啊,很悬哦")
if score < 60:
    print("你这个傻狗子") 

执行结果:

请输入你的成绩:98
你输入的成绩是:98
你很优秀

多路分支

  • 存在很多分支的情况
  • if 条件表达式:
    语句1
  • elif 条件表达式:
    语句1
  • elif 条件表达式:
    语句1
  • else:
    语句1
  • elif可以有任意个,根据情况
  • else可选
  • 多路分支最多只会执行一种情况

if语句

  • if语句可以嵌套使用,不推荐
  • python没有switch语句
# 多路分支
score = input("请输入你的成绩:")
print("你输入的成绩是:" + score)
score = int(score)
if score >= 90:
    print("A")
elif score >= 80 and score < 90:
    print("B")
elif score >= 70 and score < 80:
    print("C")
elif score >= 60 and score < 70:
    print("D")
else:
    print("E")

执行结果:

请输入你的成绩:97
你输入的成绩是:97
A

循环语句

  • 重复执行某一个固定的动作或者任务
  • 分类:
    • for循环
    • while循环

for循环

  • 语法
    for 变量 in 序列:
    语句1
    语句2
# for循环案例
list_one = [1,2,3,4,5,6,7]
for a in list_one:
    print(a,end="\t")

执行结果:

1	2	3	4	5	6	7

案例2:

# 打印学生列表
stu_list = ["王二狗","小美","美猴王","爱因斯坦"]
for stu in stu_list:
    print("这个学生的名字是:" + stu)
    if stu == "美猴王":
        print("这是我的最爱呀")
    else:
        print("对不起,我不认识你!再见。")

执行结果:

这个学生的名字是:王二狗
对不起,我不认识你!再见。
这个学生的名字是:小美
对不起,我不认识你!再见。
这个学生的名字是:美猴王
这是我的最爱呀
这个学生的名字是:爱因斯坦
对不起,我不认识你!再见。

for-else语句

  • for循环结束的时候,有时候需要执行一些收尾工作,此时需要使用else语句
  • else语句是可以选的
# for-else语句
stu_list = ["王二狗","爱因斯坦","美猴王"]
for stu in stu_list:
    print("这个学生的名字是:" + stu)
    if stu == "美猴王":
        print("这是我的最爱呀")
    else:
        print("对不起,我不认识你!再见。")
else:
    print("瞅啥呢!所有的同学都在这里了!")

执行结果:

这个学生的名字是:王二狗
对不起,我不认识你!再见。
这个学生的名字是:爱因斯坦
对不起,我不认识你!再见。
这个学生的名字是:美猴王
这是我的最爱呀
瞅啥呢!所有的同学都在这里了!

break,continue,pass

  • break:无条件结束整个循环,简称循环猝死
  • continue: 继续下一轮循环 continue后面的语句就不执行了,直接进行到下一轮循环
  • pass:仅仅是一个占位符,代表这句话什么也不干,没有跳过的功能
# 在一个数字队列中,是否包含数字7,如果找到了就打印出来,并且结束
num_list = [3,5,7,2,4,8,7,9]
for num in num_list:
    if num == 7:
        print("我找到7了!")
        break
    else:
        print(num)

执行结果:

3
5
7
我找到7了!
# continue语句
# 在数字1-10中,寻找所有偶数,找到偶数后打印偶数
list = [1,2,3,4,5,6,7,8,9,10]
for i in list:
    if i % 2 == 0:
        print(i,end="\t")
    else:
        continue
# 一下代码与上面的代码是等价的
print()
for i in list:
    if i % 2 == 1:
        continue
    print(i,end="\t") 

执行结果:

2	4	6	8	10	
2	4	6	8	10
# pass
age = 19
if age < 19:
    pass
else:
    print("你还小")

执行结果:

你还小

range函数

  • 生成有序数列
  • 生成数字队列可以定制
  • range生成序列的两个数字是左包括,右不包括的
  • 一般在python中,连个表示范围的数字都是左包括右不包括的,randint函数是一个特例
  • range函数在python2.x和python3.x中有很大的区别
# range案例
# 生成数字从1-100的数字序列
dig_list = range(1,10)
for dig in dig_list:
    print(dig,end=" ")
print()
for i in range(1,5):
    print(i,end="\t")

执行结果:

1 2 3 4 5 6 7 8 9 
1	2	3	4

while循环

  • 表示当条件成立的时候,就循环

  • 循环的次数不确定的情况下使用

  • while语法:
    while 条件表达式:
    语句块

    while 条件表达式:
    语句块1
    else:
    语句块2

  • else是可选的

# while语句
# 如果说年利率是6.7%,本利是每年翻滚,则多少年后本钱翻倍
rate = 0.067
money = 100000
year = 0
while money < 200000:
    money = money * (1 + rate)
    year += 1
print("{0}年翻倍".format(year))
print(money)

执行结果:

11年翻倍
204083.83830545243

你可能感兴趣的:(Python语言基础)