Python3基础之分支结构和循环结构

在Python中,要构造分支结构可以使用ifelifelse关键字。所谓关键字就是有特殊含义的单词,像ifelse就是专门用于构造分支结构的关键字,很显然你不能够使用它作为变量名(事实上,用作其他的标识符也是不可以)

在程序中我们需要重复的执行某条或某些指令,例如比如在我们的程序中要实现每隔1秒中在屏幕上打印一个”hello, world”这样的字符串并持续一个小时,我们肯定不能够将print('hello, world')这句代码写上3600遍。当然你可能已经注意到了,刚才的描述中其实是重复的动作

Python3基础之分支结构和循环结构

分支结构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
第一种:  if结构
格式: if 表达式:
语句块
执行流程:程序遇到if结构时,判断表达式的真假,如果为真,则执行语句块,否则结束if结构
表达式为假的情况: 0 '' None False [] () {}
num1 = 78
num2 = 45
tmp = 0
if num1 > num2:
tmp = num1
num1 = num2
num2 = tmp
print(num1, num2)
第二种: if-else结构
格式: if 表达式:
语句块1
else:
语句块2
执行流程:程序执行到if结构,判断表达式的真假,如果为真,则执行语句块1,如果为假,则执行else中的语句块的内容
# 判断一个年份是否是闰年
year = int(input('请输入你要输入的年份:'))
if ((year % 4 == 0) and (year % 100 != 0)) or (year % 400 == 0):
print('是润年')
else:
print('不是闰年')
第三种: if-elif-else
格式: if 表达式1:
语句块1
elif 表达式2:
语句块2
elif 表达式3:
语句块3
else:
语句块n
执行流程:程序执行到if语句,判断表达式1的真假,如果为真,则执行语句1,否则判断表达式2的真假,如果为真,则执行表达式2,一次类推,直到最后一个表达式为假,就执行else里边的语句块n
import random
# 产生一个1-6的随机数
num = random.randint(1, 6)
# print(num)
if num == 1:
print('这个随机数乘以1后是%d' % (num * 1))
elif num == 2:
print('这个随机数乘以2后是%d' % (num * 2))
elif num == 3:
print('这个随机数乘以3后是%d' % (num * 3))
elif num == 4:
print('这个随机数乘以4后是%d' % (num * 4))
elif num == 5:
print('这个随机数乘以5后是%d' % (num * 5))
else:
print('这个随机数乘以本身后是%d' % (num * num))

第四种: 嵌套
if 表达式1:
if 表达式2:
语句块1
else:
语句块2
else:
语句块3
name = 'xiaoming'
password = '123456'

user = input('请输入用户名')
pwd = input('请输入密码')

if user == name:
if pwd == password:
print('恭喜你,登录成功')
else:
print('用户名或者密码错误2')
else:
print('用户名或者密码错误1')

循环结构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#for-in循环
#如果明确的知道循环执行的次数或者是要对一个容器进行迭代,使用for-in循环

"""

用for循环实现1~100求和

"""
sum = 0
for x in range(101):
sum += x
print(sum)

"""
输入两个正整数计算最大公约数和最小公倍数
"""
num1 = int(input("请输入第一个整数:"))
num2 = int(input("请输入第二个整数:"))
# actual = None
actual = min(num1, num2) # 取最小的整数
# commonDivisorVal = None
for i in range(1, actual + 1):
if (num1 % i == 0) and (num2 % i == 0):
commonDivisorVal = i
print("%d和%d的最大公约数是%d" % (num1, num2, commonDivisorVal))

#while循环
#如果要构造不知道具体循环次数的循环结构,推荐使用while循环,while循环通过一个能够产生或转换出bool值的表达式来控制循环,表达式的值为True循环继续,表达式的值为False循环结束。
"""
猜数字游戏
计算机出一个1~100之间的随机数由人来猜
计算机根据人猜的数字分别给出提示大一点/小一点/猜对了
"""
import random

answer = random.randint(1, 100)
counter = 0
while True:
counter += 1
number = int(input('请输入: '))
if number < answer:
print('大一点')
elif number > answer:
print('小一点')
else:
print('恭喜你猜对了!')
break
print('你总共猜了%d次' % counter)

注意:上面的代码中使用了break关键字来提前终止循环,需要注意的是break只能终止它所在的那个循环,这一点在使用嵌套的循环结构需要注意。除了break之外,还有另一个是continue,它可以用来跳过本次循环直接进入下一轮循环。

-------------本文结束感谢您的阅读-------------

本文标题:Python3基础之分支结构和循环结构

文章作者:GavinLiu

发布时间:2017年07月16日 - 10:07

最后更新:2017年07月16日 - 10:07

原始链接:http://gavinliu4011.github.io/post/8b5ec2d0.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

请博主吃个鸡腿吧
0%