Python流程控制
if条件分支语句
Python条件语句就是通过一条或者多条语句执行的结果(true/false)来决定执行的代码块。
- if单分支语句
if 逻辑语句:
语句块
demo:
print('hello')
if False:
print('world')
print('game')
- if双分支语句
if 逻辑语句1:
语句(块)1
else:
语句(块)2
- if多分支语句
grade=int(input('输入考试成绩 '))
if 90<=grade<=100:
print("A")
elif grade>=80:
print('B')
elif grade>=70:
print('C')
elif grade>=60:
print('D')
else:
print('E')
从控制台输入一个三位数,判断该数是否是水仙花数
a=int(input('输入三位数 '))
if a==pow(a//100,3)+pow(a//10%10,3)+pow(a%10,3):
print('是水仙花数')
else:
print('不是水仙花数')
while语句
利用while来打印1-100 并求和
i=1
a=0
while True:
print(i)
i+=1
a+=i
if i>100:
break
print(a)
i=1
a=0
while i<101:
print(i)
i+=1
a+=i
print(a)
a=100
while a<1000:
if a==pow(a//100,3)+pow(a//10%10,3)+pow(a%10,3):
print(a)
a+1
sum=0
i=1
while i<101:
if i%2==0:
sum+=i
print(sum)
利用while求1-100 偶数和
sum=0
i=1
while i<101:
if i%2==0:
sum+=i
i+=1
print(sum)
求100-999的水仙花数
a=100
while a<1000:
if a==pow(a//100,3)+pow(a//10%10,3)+pow(a%10,3):
print(a)
a+=1
for循环
for i in range(1,45,8):
print(i,end=' ')
if i==33:
break
for a in range(100,1000):
if a==pow(a//100,3)+pow(a//10%10,3)+pow(a%10,3):
print(a)
a=0
for i in range(101):
if i%2==0:
a+=i
print(a)
break和continue
- break用来结束一个循环,跳出循环体
- continue终止本次循环的动作,直接进入下次循环。
while…else…
for…else…
while…和else是一块的 for和else也是一块的
当有break或者return是会跳出while 如果没有不管是否执行while 都会执行else语句
字符串
1.索引
a='pyrhon'
for i in range(len(a)):
print(a[i])
for j in a:
print(j,end=' ')
2.切片
sr='life is short,you need python'
print(sr[8:-8])
print(sr[12:1:-2])
short,you nee
toss f
3.大小写转化
a='you NEEd,out'
print(a.lower())#所有小写
print(a.upper())#所有 大写
print(a.swapcase())#大为小 小为大
print(a.title())#每个单词首字母大写,其他小写
print(a.capitalize())#首字母大写,其他小写
you need,out
YOU NEED,OUT
YOU neeD,OUT
You Need,Out
You need,out
验证码
sr='aaW5'
a=input('输入验证码: ')
if a.lower()==sr.lower():
print('验证成功')
else:
print('失败,请重新输入')
4.字符串的格式输出对齐
a='you NEEd,out'
print(a.center(21,'#'))#居中对齐
print(a.ljust(21,'#'))#居左对齐
print(a.rjust(21,' '))#居右对齐
print(a.zfill(21))#自动填充0 ,居右对齐
print(a.strip('y'))#删除开头末尾空白(指定)
print(a.find('o',2))#查找指定元素的索引(默认第一次,可指定区间),找不到返回-1
print(a.index('u',6,20))#,从左到右找第一个指定元素的索引(可选择区间)找不到 报错
print(a.rindex(''))#从右向左找 找不到 报错
print(a.replace('ou','6'))#替换指定字符串
print('+'.join(a))#将指定字符插入到各个元素之间
print(a.split('o'))#以指定字符分割字符串并删除该字符
print(a.partition('o'))#以指定字符分割字符串并保留该字符
###you NEEd,out3 # ##
you NEEd,out3 # #####
you NEEd,out3 #
00000you NEEd,out3 #
ou NEEd,out3 #
9
10
16
y6 NEEd,6t3 #
[‘y’, ‘u NEEd,’, 'ut3 # ']
(‘y’, ‘o’, 'u NEEd,out3 # ')
#ASCII值和字符的转化
for i in range(ord('a'),ord("z")+1):
print(chr(i),end=' ')
a b c d e f g h i j k l m n o p q r s t u v w x y z
5.String模块
import string
print(dir(string))
print(string.ascii_letters)#所有大小写 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
print(string.ascii_lowercase)#所有小写 abcdefghijklmnopqrstuvwxyz
print(string.ascii_uppercase)#所有大写 ABCDEFGHIJKLMNOPQRSTUVWXYZ
print(string.digits)#0-9 0123456789
print(string.hexdigits)#0123456789abcdefABCDEF
print(string._ChainMap)#<class 'collections.ChainMap'>
print(string._re)#<module 're' from 'D:\\software\\python3\\lib\\re.py'>
print(string.octdigits)#01234567
print(string.printable)#0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
print(string.punctuation)#!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
print(string.whitespace)#
print(string.__all__)#['ascii_letters', 'ascii_lowercase', 'ascii_uppercase', 'capwords', 'digits', 'hexdigits', 'octdigits', 'printable', 'punctuation', 'whitespace', 'Formatter', 'Template']
"#$%&’()*+,-./:;<=>?@[]^_`{|}~
print(string.whitespace)#
print(string.all)#[‘ascii_letters’, ‘ascii_lowercase’, ‘ascii_uppercase’, ‘capwords’, ‘digits’, ‘hexdigits’, ‘octdigits’, ‘printable’, ‘punctuation’, ‘whitespace’, ‘Formatter’, ‘Template’]