程序的三种控制结构
- 顺序结构、分支结构、循环结构
- 顺序结构
>>> b='hello world'
>>> b
'hello world'
- 分支结构
if '9' in ('1','2','3') or 9<8:
print('ddd')
print('*'*20)
>>> if '9' in ('1','2','3'):
print('yes')
print('条件成立')
else:
print('no','*'*20)
print('条件不成立')
no ********************
条件不成立
a=int(input('请输入你的成绩:'))
if a>=90:
print('A等级',end='')
print('成绩优秀')
elif 75 <= a <90:
print('B等级, 成绩良好')
elif 60 <= a < 75:
print('C等级, 成绩合格')
else:
print('D等级, 成绩不合格')
3.循环结构
遍历循环使用 for语句,依次提取 遍历结构中各元素进行处理;
无限循环使用 while语句,根据判断条件执行程序。
-遍历循环
>>> str01='kjksjfjdsjhf;s'
>>> len(str01)
14 #是14个字符,但是程序计数时是从0开始
>>> for i in str01:
print(i)
k
j
k
s
j
f
j
d
s
j
h
f
;
s
>>> str01='kjksjfjdsjhf;s'
>>> for i in range(0,9): #左闭右开区间,共10个数取9个,从0开始取到8 程序计数时从0开始一致
print(str01[i])
k
j
k
s
j
f
j
d
s
>>> a= (1,2,3) #元组
>>> for i in a :
print(i)
1
2
3
>>> a= ['hello','python'] #列表
>>> for i in a :
print(i)
hello
python
>>>
- 无限循环
>>> str01 = '1.Tom 人名。'
>>> i = 0 #表示索引从0开始
>>> while i <len(str01): #当 0<9时,
print(str01[i]) #从0开始打印
i += 1 #表示 i=i+1, 计数器循环到 while又开始
1
.
T
o
m
人
名
。
>>> len(str01) #长度是从1开始,索引是从0 开始
9
>>> str01 = '1.Tom 人名。'
>>> i = 0
>>> while i <len(str01):
print(str01[i]) #没有计数器时一直对 索引0(1)循环, 按下idle中 shell -restart shell
1
1
1
1
1
1
1
======== RESTART: Shell ========
>>>
计算1-100之和
sum =0
for x in range(101):
sum += x
print(sum)
恺撒密码
- 第一种方法
text = input('请输入:')
for L in text:
if 'A' <= L <= 'W':
print(chr(ord(L)+3),end='')
elif 'X' <= L <= 'Z':
print(chr(ord(L)-23),end='')
elif 'a' <= L <= 'w':
print(chr(ord(L)+3),end='')
elif 'x' <= L <= 'w':
print(chr(ord(L)-23),end='')
else:
print(L,end='')
print() #正常情况下,print() 自带了‘\n’.所以,print()即为一个\n
print('输入完成')
2.第二种方法
第二种方法有问题,当小于88时,计算失败
break continue语句与循环结构嵌套
-break
str01 = '1.Tom 人名。'
i = 0
while i <= len(str01):
print('第{}次循环'.format(i),str01[i])
i+=1
if i == 3:
break
print('*'*5)
print('88888888888888')
第0次循环 1 #索引的字符是1,if i == 3: 中1不等于3 程序往下执行
*****
第1次循环 . #索引的字符是. ,if i == 3: 中2不等于3 程序往下执行
*****
第2次循环 T #索引的字符是T,if i == 3: 中3等于3 程序中断 跳出循环
88888888888888
-continue
str01 = '1.Tom 人名。'
i = 0
while i <= len(str01):
print('第{}次循环'.format(i),str01[i])
i+=1
if i == 3:
continue
print('*'*5)
print('88888888888888')
第0次循环 1
*****
第1次循环 .
*****
第2次循环 T #索引的字符是T,if i == 3: 中3等于3 跳出本次循环 循环内continue后面代码不执行
第3次循环 o
*****
第4次循环 m
*****
第5次循环
*****
第6次循环 人
*****
第7次循环 名
*****
第8次循环 。
*****