python学习笔记二— 循环

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

分支结构
•分支结构基本语法◾if (如果) 条件表达式:
◾语句1
◾语句2
◾语句3
◾…

•条件表达式就是计算机结果必须为 布尔值 的表达式
•表达式后面的:冒号不能少(英文输入法)
•注意if后面出现的语句,如果属于if语句块,则必须同一个缩进等级(4空格/1TAB键)
•条件表达式结果为 True 执行if后面的缩进语句块

# if 语句例子1
# 如果我和una一辈子不分开,我就太幸福了。
love1 = "我和una一辈子不分开"
if love1:
    print ("我就太幸福了")
    print ("我要让她幸福一辈子")
print ("我们都要幸福啊!")

# 字符串的真假:
#只有空字符串(长度为0的练空格都没有的)为False,其余为True
love2 = ""
if love2:
    print ("我就太幸福了")
    print ("我要让她幸福一辈子")
print ("我们都要幸福啊!")


love3 = "  "
if love3:
    print ("我就太幸福了")
    print ("我要让她幸福一辈子")
print ("我们都要幸福啊!")

输出:
我就太幸福了
我要让她幸福一辈子
我们都要幸福啊!
我们都要幸福啊!
我就太幸福了
我要让她幸福一辈子
我们都要幸福啊!

双向分支
•if…else… 如果…就…
•语法结构:
◾if: 条件表达式◦语句1
◦语句2

◾else:◦语句1
◦语句2

# if 语句例子2
age = 19
if age > 18:
    print ("可以去网吧")
else:
    print ("禁止上网")

输出:可以去网吧

input 的作用

#1、在屏幕上输出括号内的字符串
#2、 接受用户输入的内容并返回到程序进行判断
#3、input返回的内容一定是字符串类型

input负责接受用户的输入并把内容返回给变量

gender = input("请输入你的性别")
# 打印输入的内容
print (gender)
if gender == "man":
    print ("走抽烟喝酒打游戏去")
else:
    print ("你是男是女啊")

输出:
请输入你的性别man
man
走抽烟喝酒打游戏去

#考试成绩判断
#成绩由用户输入
#90以上:输出优秀
#80-90;良
#70-80:中
#60-70:平
#60以下:输出:学渣
#输入成绩需要用到input函数

#input 输入的值全是字符串类型
score = input ("请输入你的成绩必须是数字")
#解决输入是字符串的问题
score = int (score)
if score >= 90:
    print ("优秀")
if score >= 80 and score < 90:
    print ("良")
if score >= 70 and score < 80:
    print ("平")
if score < 60:
    print ("学渣")

输出:
请输入你的成绩必须是数字100
优秀

多路分支
•就是很多分支/判断的情况,就叫多路分支
•elif语句允许检查多个表达式是否为TRUE,并在其中一个条件求值为TRUE时立即执行对应代码块。
•与else语句类似,elif语句是可选的。 但是,与else语句不同的是,else语句最多可以有一个语句,在if之后可以有任意数量的elif语句。

  • if…elif…else
    • 语法结构:
  • if: 条件表达式
    • 语句1
    • 语句2
  • elif:
    • 语句1
    • 语句2
  • else:
    • 语句1
    • 语句2
      •elif可以有好多个,根据实际情况
      •else 可选
      •多路分支最多只会执行一种情况
#考试成绩判断
#成绩由用户输入
#90以上:输出优秀
#80-90;良
#70-80:中
#60-70:平
#60以下:输出:学渣
#输入成绩需要用到input函数

#input 输入的值全是字符串类型
score = input ("请输入你的成绩必须是数字")
#解决输入是字符串的问题
score = int (score)
if score >= 90:
    print ("优秀")
elif score >= 80:
    print ("良")
elif score >= 70:
    print ("平")
elif score >= 60:
    print ("差")
else:
    print("学渣")

请输入你的成绩必须是数字100
优秀

if 语句补充
•if 语句可以嵌套使用,但是不推荐如; ◾if score >= 90:
◾print (“优秀”)
◾if score >= 80 and score < 90:
◾print (“良”)
◾if score >= 70 and score < 80:
◾print (“平”)
◾if score < 60:
◾print (“学渣”)

•python里面没有switch语句

循环语句
•重复执行某个固定的动作或者任务叫做循环
•分类◾for
◾while
for 循环

•语法◾for 变量 in 序列:◦语句1
◦语句2 …

# for循环案例
#比如 [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+10)
    print (shuzi+100)
#案例2
#如果是una,那就是我的最爱
#如果不是,就是普通人
xingming_list = ["abc","efg","una"]
for love in xingming_list:
    if love == "una":
        print("我的最爱")
    else:
        print ("普通人")

for-else语句
•for循环结束的时候,有时候需要执行一些收尾工作,此时需要使用else语句进行收尾
•else语句是可选的

#案例
#如果是una,那就是我的最爱
#如果不是,就是普通人
#如果没有una,就不再爱了
xingming_list = ["abc","efg","hij"]
for love in xingming_list:
    if love == "una":
        print("我的最爱")
    else:
        print ("普通人")
else:
    print ("不再爱了")

break,continue,pass
•break: 无条件结束整个循环,简称循环猝死
•continue: 继续
•pass: 占位符 代表这句话啥也不干,但是不是跳过

# 确定一个数字队列中是否包含数字7
# 确定是否包含,只要找到1个7即可确定,不需要继续往下查找,使用 break进行收尾
dig_list = [1,2,7,3,4,7,5,6,7]
for dig in dig_list:
    if dig == 7:
        print ("找到了一个7")
        break
    else:
        print (dig)
# continue 语句练习
# 在数字1-10中,寻找所有偶数,找到偶数后打印偶数
dig_list = [1,2,3,4,5,6,7,8,9,10]
'''
# continue案例1
'''
for dig in dig_list:
    if dig % 2 == 0:
        print (dig)
        print ("偶数")
    else:
        continue
        
'''
# continue案例2
'''
for dig in dig_list:
    if dig % 2 == 1:
        print (dig)
        print ("奇数")
    else:
        continue
# 以下代码和上面代码等价(一样)       
for dig in dig_list:
    if dig % 2 == 1:
        continue
        print (dig)
        print ("奇数")
#pass案例1
age = 18
if age > 18:
    pass
else:
    print("未成年")
#pass案例2
shuzi = [1,2,3,4,5]
for aa in shuzi:
    pass
    print(aa)

while循环
•一个循环语句
•表示当条件成立的时候就循环,适应于不知道具体循环次数,但能确定在某个条件成立的情况下就循环
•while 语法◾while 条件表达式:◦语句1
另外一种表达方法

◾while 条件表达式:◦语句1

◾else:◦语句2

# 案例1
# 如果说年利率是6.7%,本利是每年翻滚,则多少年后本钱会翻倍
benjin = 10000
year = 0 #存放需要翻本的年数
while benjin <20000:
    benjin = benjin * (1 + 0.067)
    year += 1 #(缩写year=year+1)
print (year)
# 案例2
#该案例中循环没有被循环,改如何修改?
while benjin <20000:
    benjin = benjin * (1 + 0.067)
    year += 1 #(缩写year=year+1)
else:
    print (year)

11
11

# 九九乘法表
# version 01
for o in range (1,10):#控制外循环,从1到9
    for i in range (1,o + 1):#内循环,每次从第一个数字开始,打印到跟行数相同的数量
        print (o * i,end="  ") #行是o 列是i
    print ()

1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
7 14 21 28 35 42 49
8 16 24 32 40 48 56 64
9 18 27 36 45 54 63 72 81

#使用函数打印九九乘法表
def jiujiu():
    for o in range (1,10):#控制外循环,从1到9
        for i in range (1,o + 1):#内循环,每次从第一个数字开始,打印到跟行数相同的数量
            print (o * i,end="  ") #行是o 列是i
        print ()
    return None
jiujiu()
jiujiu()

1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
7 14 21 28 35 42 49
8 16 24 32 40 48 56 64
9 18 27 36 45 54 63 72 81
1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
7 14 21 28 35 42 49
8 16 24 32 40 48 56 64
9 18 27 36 45 54 63 72 81

#函数嵌套使用
def printline(line_num):
    '''
    line_num:代表行号
    '''
    for i in range(1, line_num + 1):
        print (line_num * i,end = "  ")
    print ()

def jiujiu():
    for o in range (1,10):
        printline(o)
    return None
jiujiu()

1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
7 14 21 28 35 42 49
8 16 24 32 40 48 56 64
9 18 27 36 45 54 63 72 81

posted @ 2020-08-15 10:59  gemoumou  阅读(70)  评论(0编辑  收藏  举报