03程序结构if for while

程序结构
•三种结构
◾顺序
◾循环
◾分支
分支结构
•分支结构基本语法◾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)

11
101
2
12
102
3
13
103
4
14
104
5
15
105
6
16
106
7
17
107

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

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

while True:
    print("我一直在循环打印")

我一直在循环打印
我一直在循环打印
我一直在循环打印
我一直在循环打印
我一直在循环打印
我一直在循环打印
我一直在循环打印
我一直在循环打印
我一直在循环打印
。。。。。。。。。
我一直在循环打印
#无限循环打印
循环如何终止

a = True
while a:
    print("我一直在循环打印")
    print("当a等于False的时候我就会停止")
    a = False

我一直在循环打印
当a等于False的时候我就会停止

i = 0
while i < 10:
    if i == 5:
        break # 当一条件满足时,退出循环不在执行后续代码
    print(i)
    i += 1

0
1
2
3
4

# 如果说年利率是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

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)

1
2
找到了一个7

# 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 ("奇数")

2
偶数
4
偶数
6
偶数
8
偶数
10
偶数
1
奇数
3
奇数
5
奇数
7
奇数
9
奇数

#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)

1
2
3
4
5

原文地址:https://www.cnblogs.com/gemoumou/p/13635354.html