1.格式化字符串
1.1格式化字符,类似于字符串的拼接,比普通的拼接方式更加简便
a=6
b=9
print(str(a)+'+'+str(b)+'='+str(a+b)) #普通的拼接方式打印6+9=15
print('%d+%d=%d'%(a,b,a+b)) #格式化字符串的方式
1.2格式化字符串方案一
%s字符串 %d整数 %f浮点数
info1='我是%s,你是%s,他是%s,今年是%d年.'%('天乐','青云','德华',2021)
print(info1)
1.2.1前面的占位符比后面的参数多,则报错
info1='我是%s,你是%s,他是%s,今年是%d年.'%('天乐','青云','德华')
print(info1)
1.2.2前面的占位符比后面的参数少,也报错
info1='我是%s,你是%s,他是%s.'%('天乐','青云','德华',2021)
print(info1)
1.2.3前面是%d,后面是str型,报错
info1='你是%d'%('天乐')
print(info1)
1.2.4前面是%s,后面是数字,不报错
info1='你是%s'%(100)
print(info1)
1.2.5补齐 %ns n是任意整数,表示补齐到n位,不足n位用空格补齐,默认右对齐
info1='我是%5s,你是%5s,他是%5s,今年是%5d年.'%('天乐','青云','德华',2021)
print(info1)
1.2.6 如果字符串本身就超过了n位,显示全部字符
info1='我是%5s,你是%5s,他是%5s,今年是%5d年.'%('真正的高手名字不会很长','青云','德华',2021)
print(info1)
1.2.7方案一中,对于数字,可以在左侧补0
info1='我是%5s,你是%5s,他是%5s,今年是%010d年.'%('天乐','青云','德华',2021)
print(info1)
1.2.8左对齐 %-ns
info1='我是%-5s,你是%-5s,他是%-5s,今年是%-10d年.'%('天乐','青云','德华',2021)
print(info1)
1.2.9%f浮点型,默认保留6位小数
number1='您输入的数字是%f'%(3.6)
print(number1)
1.2.10保留两位小数
number1='您输入的数字是%.2f'%(3.6)
print(number1)
1.2.11补齐到10位,保留两位小数
number1='您输入的数字是%10.2f'%(3.6)
print(number1)
1.3方案二
str1='My name is {},Your name is {},age is {}'.format('Clark','Ralf',21)
print(str1)
1.3.1前面的参数比后面的参数多,报错
str1='My name is {},Your name is {},age is {}'.format('Clark','Ralf')
print(str1)
1.3.2前面的参数比后面的参数少,不报错
str1='My name is {},Your name is {}'.format('Clark','Ralf',21)
print(str1)
1.3.3补齐 {:n} n是任意整数 不足n位时补齐到n位,字符串默认左对齐,数字默认右对齐
str1='My name is {:10},Your name is {:10},age is {:10}'.format('Clark','Ralf',21)
print(str1)
1.3.4补0
str1='My name is {:10},Your name is {:10},age is {:010}'.format('Clark','Ralf',21)
print(str1)
1.3.5改变对齐方式 >右对齐 <左对齐 ^居中对齐
str1='My name is {:>10},Your name is {:<10},age is {:<10}'.format('Clark','Ralf',21)
print(str1)
1.3.6{}里面没有写数字时,是顺序取值法,写了数字时,是下标取值法
str1='My name is {},Your name is {},age is {}'.format('Clark','Ralf',21)
print(str1)
1.3.7顺序取值法与下标取值法不能混用,否则报错
str1='My name is {1},Your name is {0},age is {}'.format('Clark','Ralf',21)
print(str1)
1.3.8在python3.6之后的版本中,可以使用更简便的写法
name1='天乐'
name2='青云'
str2=f'My name is {name1},Your name is {name2}'
print(str2)
2.循环
2.1一组被重复执行的语句称之为循环
2.2while循环,从1打印到10
i=1
while i<=10:
print(i)
i += 1 # i每次自增长1
2.3 for循环,1打印到10
for i in range(1,11): #range(起始值,终止值,步长) 包含起始值,不包含终止值,步长的缺省值为1
print(i)
2.4 如果有明确的循环次数,建议用for循环,如果循环次数不确定,建议用while循环,两者可以互相替换
打印100以内的奇数
for i in range(1,100,2):
print(i)
2.5for循环的起始值省略时,默认为0
for i in range(10):
print(i)
2.6 遍历列表
2.6.1方式一,用下标的方式进行遍历
list1=['火','炎','焱','燚']
for i in range(len(list1)):
print(list1[i])
2.6.2方式二,直接遍历
for one in list1:
print(one)
2.7 break语句与continue语句
2.7.1 break 停止循环
for i in range(1,11):
if i==5:
break
print('Hello') #break与continue后的语句是不可达语句
else:
print(i)
2.7.2 continue 跳出当次循环
for i in range(1,11):
if i==5:
continue
print('Hello') #break与continue后的语句是不可达语句
else:
print(i)
2.8循环语句中也可以带一个else语句,当循环成功执行完毕时,会执行一次else中的语句
for i in range(1,11):
if i==5:
pass #占位符
else:
print(i)
else: #如果循环中执行了break语句则else中的语句不执行,其他情况下执行
print('循环执行完毕')
2.9 写一个倒计时程序
import time #加载time模块
for i in range(10,0,-1):
print(f'\r倒计时{i}秒',end='') #\r让光标回到行首
# 低版本的python中,可能不会自动刷新,那么就要加一句flush=True
# print(f'\r倒计时{i}秒', end='',flush=True)
time.sleep(1) #让程序等待1秒
else:
print('\r倒计时结束')