Python 学习笔记03 - 程序结构

文章目录

  • 程序结构
  • 分支结构
    • 双向分支
    • 多路分支
    • if语句补充
  • 循环语句
    • for 循环
    • for-else 语句
    • while循环
  • break、continue、pass
  • range 函数

程序结构

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

分支结构

  • 分支结构基本语法

    if 条件表达式:
    语句1
    语句2
    语句3
    ……

  • 条件表达式就是计算结果必须为布尔值的表达式

  • 表达式后面的冒号不能少

  • 注意if后面的出现的语句,如果属于if语句块,则必须同一个缩进等级

  • 条件表达式结果为True执行if后面的缩进的语句块

# if语句练习
# 如果你们都给我钱,我就发财了

a = "都买习题课"

# 字符串有内容就是真True,空字符串就是假False


if a:
    print("我就发财了")
    print("真开心")

print("还得生活")

b = ""
if b:
    print("真假")

print("hahah")

c = "   "
if c:
    print("真假")
    
print("你猜猜")

我就发财了
真开心
还得生活
hahah
真假
你猜猜

# if 联系二

age = 19

if age > 16:
    print("成年了")
print("没有")

成年了
没有

双向分支

  • if……else……表达

  • 语法结构:

      if 条件表达式:
          语句1
          语句2
          ……
      else:
          语句一
          语句二
          ……
    
a = "你猜猜"
if a:
    print("我发财了")
else:
    print("继续吃苦")
    
我发财了
# input的作用是
# 1. 在屏幕上输出括号内的字符串
# 2. 接受用户输入的内容并返回程序
# 3. input 返回的内容一定是字符串类型

# input 负责接受用户输入并把内容返回给变量
gender = input("请输入你的性别:man 偶然 woman")
# 打印输入的内容
print(gender)

if gender == "man":
    print("zouzouzou")
else : 
    print("kankankan ")

请输入你的性别:man 偶然 womanman
man
zouzouzou
# 考试成绩判断
# 成绩由用户输入
# 90以上: 输出优秀
# 80-90: 良
# 70-80 中
# 60-70: 平
# 60 以下:输出:我没你这个

# input 输入的内容都是字符串
grade = input("请输入分数")

# 解决输入的字符串问题
grade = int(grade)

if grade > 90:
    print("优秀")
if grade >80 and grade <90:
    print("良")
if grade > 70 and grade < 80:
    print("中")
if grade > 60 and grade < 70:
    print("平")
if grade < 60 :
    print("笨")

请输入分数88

多路分支

  • 很多分支的情况,叫多路分支

      if 条件表达式:
          语句1
          ……
      elif 条件表达式:
          语句1
          ……
      elif 条件表达式:
          语句1
          ……
      else
          语句1
          ……
    
  • elif 可以有多个根据实际情况

  • else 可选

  • 多路分支最多只会执行一种情况

# input 输入的内容都是字符串
grade = input("请输入分数")

# 解决输入的字符串问题
grade = int(grade)

if grade >=90:
    print("优秀")
elif grade >= 80 and grade <90:
    print("良")
elif grade >= 70 and grade < 80:
    print("中")
elif grade >= 60 and grade < 70:
    print("平")
elif grade < 60:
    print("笨")
#else:
#    print("什么都不是")

if语句补充

  • if语句可以嵌套使用,但不推荐
  • python没有switch语句

循环语句

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

for 循环

  • 语法

      for 变量 in 序列:
          语句一
          语句二
          ……
    
# 比如 [1,2,3,4,5,6,7]

list_one = [1,2,3,4,5,6,7]

for shuzi in list_one:
    print(shuzi)
    print(shuzi + 100)
    print(shuzi + 1000)

1
101
1001
2
102
1002
3
103
1003
4
104
1004
5
105
1005
6
106
1006
7
107
1007
# 打印学生列表姓名
# 如果是jingjing,那肯定是你的最爱
# 如果是别的学生,要冷库拒绝他

stu_list = ['王大仙','张三','李四','王晓静']

for stu in stu_list:
    if stu == '王晓静':
        print('你干嘛去了')
    else:
        print('你走开吧')

你走开吧
你走开吧
你走开吧
你干嘛去了

for-else 语句

  • for循环结束的时候,有时候需要执行一些收尾的工作,此时需要使用else语句
  • else 语句是可选语句
stu_list = ['王大仙','张三','李四','王晓静']

for stu in stu_list:
    if stu == "王晓静":
        print("hello")
    else:
        print("hoho")
else:
    print("===========")

hoho
hoho
hoho
hello
===========

while循环

  • 一个循环语句

  • 表示当条件成立的时候,就循环,适应于不知道具体循环次数,但能确定再某个条件成立的情况下就循环

  • while 语法:

      while 条件表达式:
          语句块
          
      # 另一种表达方法
      while 条件表达式:
          语句块1
      else:
          语句块2
    
# 如果说年利率是6.7%,本利是每年翻滚,则多少年会翻倍

benqian = 10000
year = 0

while benqian < 20000:
    benqian = benqian * (1 + 0.067)
    year +=1
    
print(year)

# 年利率案例2

while benqian < 20000:
    benqian = benqian * (1 + 0.067)
    year +=1
else:
    print(year)

11
11

break、continue、pass

  • break: 无条件结束整个循环,简称循环猝死
  • continue: 继续
  • pass: 只是占位符号,代表这句话啥也不干,没有跳过功能
# 再一个数字队列中,寻找数字7,如果找到,打印出来即可,并且结束
dig_list = [3,4,5,6,7,8,9,1]

for dig in dig_list:
    if dig == 7:
        print("哈哈哈哈,可以了呀")
        break
    else:
        print(dig)

3
4
5
6
哈哈哈哈,可以了呀
# continue语句练习
# 在数字1-10中,寻找所有偶数,找到偶数后打印偶数

dig_list = [3,4,5,6,7,8,9,1]

for dig in dig_list:
    if dig % 2 == 0:
        print(dig)
        print("双数")
    else:
        continue

4
双数
6
双数
8
双数
# pass 案例一
age = 19
if age > 19:
    pass
else:
    print('还有旷么')

还有旷么
# pass 案例二

ages = [2,3,4,5,6,7,8,]

for age in ages:
    pass
    print(age)
    
2
3
4
5
6
7
8

range 函数

  • 生成有序数列
  • 生成数字队列可以定制
# range 案例1
# 生成一个从1到100的数字序列表


dig_list= range(0,21)
for dig in dig_list:
    print(dig)
    
# 界限 左包括,右不包括, randint 是个特例
# range 函数python2和python3有大区别

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# range函数
for i in range(1,10):
    print(i)

1
2
3
4
5
6
7
8
9

你可能感兴趣的:(python3,python)