python的程序结构有3种,分别问:顺序,选择,循环。
一、顺序结构
从上到下,一条条运行的叫顺序结构,流程图如下:
代码如下:
name1,age1 = '张三',20
print (name1) #张三
print (age1) #20
a,*b = 'hello'
print (a) #h
print (b) #ello
x = 1
print ('x =',x) #x=1
x = 'com'
print ('x =',x) #x=com
二、选择结构
这个结构是会有个判断,如果是真,走语句块1,否则走语句块2,流程图如下:
选择结构的语法:
1、语法一:
#语法一:
if 表达式: #表达式是布尔型的,结果为True或False
语句块
if True: #这里表达式结果为真,则会执行打印1
print (1)
if False: #这里表达式结果为假,不会执行打印语句
print (0)
举例如下:
a = int(input('请输入一个整数:'))
if a>0: #如果a比0大,则输出正整数并打印a的值,否则不运行语句块
print ('正整数')
print (a)
a = int(input('请输入一个整数:'))
if a>0:print ('正整数') #如果条件后边只有一条语句,则可以直接写到冒号后边
2、语法二
#语法二:
if 表达式:
语句块1
else:
语句块2
a = int(input('请输入一个整数:'))
if a>0:
print ('正整数')
else:
print ('不是正整数')
#代码简化版
a = int(input('请输入一个整数:'))
b = '正整数' if a>0 else '不是正整数' #如果a大于0,则把正整数赋值给b,否则把不是正整数赋值给b
print (b)
3、语法三
#语法三:
if 表达式1:
语句块1
elif 表达式2:
语句块2
else:
语句块3
#判断成绩属于哪一级
score = int(input('请输入成绩:'))
if score<0 or score>100:
print ('输入有误!')
elif score>=90:
print ('A')
elif score>=80:
print ('B')
elif score>=70:
print ('C')
elif score>=60:
print ('D')
else:
print ('不合格')
4、语法四
#语法四:
if 表达式1:
if 表达式2:
语句块1
else:
语句块2
else:
语句块3
#判断a是什么数
a = int(input('请输入a的值:'))
if a!=0:
if a>0:
print ('正整数')
else:
print ('负整数')
else:
print (0)
注意:if语法中,判断表达式的后边有个英文冒号,不能缺少,另外用缩进表示子级,缩进格式必须相同。
三、循环结构
这个结构是会判断,判断成立则执行语句块,语句块运行完以后,再回来判断,如果还成立则继续执行语句块,直到判断条件不成立为止。流程图如下:
1、语法一:遍历循环for
语法结构:
for 循环变量 in 遍历对象:
循环体
例子:
#打印hello的每个字符
for i in 'hello':
print (i)
s='hello'
for i in range(0,len(s)): #len函数是求字符串长度
print (s[i])
#1-10的和
s = 0
for i in range(1,11):
s+=i
print (s)
#range(0,10)
#这个函数的意思是从0开始,到9结束,属于版闭半开区间
#range(3)
#也可以写成这样,默认从0开始,到2结束
#range(1,10,2)
#写成这样,表示,从1开始,到10结束,步长为2
#水仙花数
for i in range(100,1000):
a = i//100
b = (i//10)%10
c = i%10
if i==a**3+b**3+c**3:
print (i)
语法结构:
for 循环变量 in 遍历对象:
循环体
else:
语句块
s = 0
for i in range(1,11):
s+=i
else:
print (s)
2、语法二:无限循环while
#无限循环while
while 表达式: #表达式成立,就一直执行循环体
语句块
例子:
a = input('考试及格了吗?y/n')
while a=='n':
print ('怎么又没及格啊,下次一定要及格啊')
a = input('这回考试及格了吗?y/n')
#1-10之和
s = 0
i = 1
while i<=10:
s+=i
i+=1
print (s)
#模拟登录
i = 1
while i<=3:
un = input('请输入用户名:')
pwd = input('请输入密码:')
if un == 'aaa' and pwd == '123':
print ('登录成功')
else:
if i!=3:
print ('用户名或密码错误,您还有',3-i,'次机会')
i+=1
if i==4:
print ('对不起,3次均输入错误,请过5分钟后重试')
3、循环嵌套
语法结构:
for 循环变量 in 遍历对象1:
for 循环变量 in 遍历对象2:
循环体
#无限循环while
while 表达式1:
while 表达式2:
语句块
#九九乘法表
for i in range(1,10):
for j in range(1,i+1):
print (j,'*',i,'=',i*j,end=' ')
print ('\n')
#直角形
for i in range(1,5):
for j in range(0,i):
print ('*',end='')
print ()
*
**
***
****
```python
#等腰三角形
for i in range(1,5):
for k in range(i,4):
print (' ',end='')
for j in range(0,2*i-1):
print ('*',end='')
print ()
*
***
*****
*******
#倒等腰三角形
for i in range(1,5):
for k in range(1,i):
print (' ',end='')
for j in range(2*i-1,8):
print ('*',end='')
print ()
*******
*****
***
*
#菱形
for i in range(1,5):
for k in range(i,4):
print (' ',end='')
for j in range(0,2*i-1):
print ('*',end='')
print ()
for i in range(1,4):
for k in range(0,i):
print (' ',end='')
for j in range(2*i-1,6):
print('*', end='')
print()
*
***
*****
*******
*****
***
*
#空心菱形
for i in range(1,5):
for k in range(i,4):
print (' ',end='')
for j in range(0,2*i-1):
if j==0 or j==2*i-2: #因为空心菱形只是在循环开始的第一次和最后一次打印*,其余都打印空格
print ('*',end='')
else:
print (' ',end='')
print ()
for i in range(1,4):
for k in range(0,i):
print (' ',end='')
for j in range(2*i-1,6):
if j==2*i-1 or j==5:
print('*', end='')
else:
print (' ',end='')
print()
*
* *
* *
* *
* *
* *
*
以上就是python程序的三种基本结构所有的讲解和例子,希望对大家有帮助。