博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
04格式化字符串与循环+注释
阅读量:2049 次
发布时间:2019-04-28

本文共 3720 字,大约阅读时间需要 12 分钟。

格式化字符串:

格式化字符串实际上是字符串的拼接,但是比拼接更加简洁

a = 3b = 4print(str(a)+'+'+str(b)+'='+ str(a+b))输出3+4=7#格式化方法:

格式化方法:

方法一:%

print('%d+%d=%d'%(a,b,a+b))#该方式就比较简洁info1 = '我是%s,你是%s,他是%s,今年是%d年。'%('天乐','青云','德华',2021)print(info1)info1 = '我是%s,你是%s,他是%s,今年是%d年。'%('天乐','青云','德华')#前面占位比后面参数多,报错info1 = '我是%s,你是%s,他是%s,今年是%d年。'%('天乐','青云','德华',2021,2022)#前面占位比后面参数少,报错info1 = '我是%s,你是%s,他是%s,今年是%d年。'%('天乐','青云','德华','2021')#前面需要%d后面给的字符串,也报错。info1 = '我是%s,你是%s,他是%s,今年是%d年。'%('天乐','青云',2022,2021)#前面需要%s后面给int,不报错。#补齐,默认补空格info1 = '我是%10s,你是%10s,他是%10s,今年是%10d年。'%('天乐','青云','德华',2021)#10代表补成10位,默认是右对齐的。print(info1)输出我是        天乐,你是        青云,他是        德华,今年是      2021年。info1 = '我是%10s,你是%10s,他是%10s,今年是%10d年。'%('真正的高手名字不能太长','青云','德华',2021)#这个意思是参数超过补齐长度,还是能正常显示的。print(info1)输出我是真正的高手名字不能太长,你是        青云,他是        德华,今年是      2021年。info1 = '我是%-7s,你是%7s,他是%-7s,今年是%010d年。'%('天乐','青云','德华',2021)#加负号,表示左对齐,数字还可以在前面补0print(info1)我是天乐     ,你是     青云,他是德华     ,今年是0000002021年。info2 = '您输入的数字是%f'%(3.6)#f表示浮点型,默认保留6位小数print(info2)输出:您输入的数字是3.600000info2 = '您输入的数字是%.2f'%(3.6) #保留两位小数print(info2)您输入的数字是3.60info2 = '您输入的数字是%8.2f'%(3.6)#补齐到8位,保留两位小数,8位包含了小数点以及小数部分。print(info2)输出您输入的数字是    3.60info2 = '您输入的数字是%08.2f'%(3.6)#可以补0print(info2)输出您输入的数字是00003.60

方法二:.format

info1 = '我是{},你是{},他是{},今年是{}年。'.format('天乐','青云','德华',2021)print(info1)输出我是天乐,你是青云,他是德华,今年是2021年。info1 = '我是{},你是{},他是{},今年是{}年,爱吃{}。'.format('天乐','青云','德华',2021)#顺序取值情况下,前面占位比后面多,报错print(info1)info1 = '我是{},你是{},他是{},今年是{}年。'.format('天乐','青云','德华',2021,333)#后面参数比前面多,ok,不报错。print(info1)info1 = '我是{:10},你是{:8},他是{:1},今年是{:9}年。'.format('天乐','青云','德华',2021,333)#补齐到n个长度,参数大于n,正常显示,默认字符串左对齐,数字默认右对齐print(info1)输出我是天乐        ,你是青云      ,他是德华,今年是     2021年。info1 = '我是{:10},你是{:8},他是{:1},今年是{:09}年。'.format('天乐','青云','德华',2021,333)#补0print(info1)输出:我是天乐        ,你是青云      ,他是德华,今年是000002021年。info1 = '我是{:^10},你是{:>8},他是{:<10},今年是{:<9}年。'.format('天乐','青云','德华',2021,333)#^居中,
<左对齐,>
右对齐print(info1)输出:我是 天乐 ,你是 青云,他是德华 ,今年是2021 年。info1 = '我是{1:^10},你是{1:>8},他是{2:<10},今年是{1:<9}年。'.format('天乐','青云','德华',2021,333)#冒号前面有数字表示选取后面的哪个参数,参数下标从0开始的print(info1)我是 青云 ,你是 青云,他是德华 ,今年是青云 年。info1 = '我是{1:^10},你是{1:>8},他是{0:<10},今年是{1:<9}年。'.format('天乐','青云')#这种情况下,前面占位可以比后面多。print(info1)我是 青云 ,你是 青云,他是天乐 ,今年是青云 年。#!!!!需要注意,下标取值和顺序取值不能混用,混用就报错了info1 = '我是{:^10},你是{:>8},他是{:<10},今年是{1:<9}年。'.format('天乐','青云','德华',2021,333)#这种就是错误的#另外Python3.6以后版本对这种方式新增了一种优化写法:name1 = 'deihua'name2 = 'tianle'info3 = f'我的名字是{
name1:>10},他的名字是{
name2:20}'print(info3)我的名字是deihua,他的名字是tianle

循环:while 和for

如果有明确循环次数的话,建议用for,没有明确循环次数建议用while,两者可以互相取代。

#循环也可以配else,用的比较少,循环成功执行完毕会进入else中,如果没有成功执行完,不会进入else。for i in range(1,11):    if i ==5:        break        # continue    else:        print(i)else:    print('----end----')输出1234for i in range(1,11):    if i ==5:        # break        continue    else:        print(i)else:    print('----end----') 输出1234678910----end----

利用for循环+else写的一个倒计时小程序

#一个倒计时显示的小程序import  timefor i in range(10,0,-1):    print('\r倒计时%d秒'%i,end='')#\r让光标回到首行    time.sleep(1)else:    print('\r倒计时结束')
'''写一个号段筛选程序,要求如下:    1、用户从控制台输入一个手机号,判断出运营商(假设,移动130-150,        联通151-170,电信171-199)    2、如果用户输入位数不对,提示用户位数有误    3、如果用户输入非数字,提示输入字符非法'''while True:    s = input('请您输入手机号码:').strip()    if len(s)!=11:        print('您输入的位数有误')    else:        if not s.isdigit():            print('您输入了非法字符,请输入数字')        else:            num = int(s[:3])            # print(num)            if 130<= num <=150:                print('移动号段')            elif 151<=num<=170:                print('联通号段')            elif 171<=num<=199:                print('电信号段')            else:                print('非法号段')

转载地址:http://rchof.baihongyu.com/

你可能感兴趣的文章
ORACLE表空间扩张
查看>>
oracl 锁表 解锁 杀死进程
查看>>
orcal 循环执行sql
查看>>
web.xml配置监听器,加载数据库信息配置文件ServletContextListener
查看>>
ORACLEL临时表空间扩张
查看>>
java 构造方法
查看>>
java 单例模式
查看>>
java 类被加载
查看>>
判断两个object是否相等
查看>>
hashCode()方法和equal()方法
查看>>
java 并行和并发
查看>>
Java多线程实现的四种方式
查看>>
Java多线程问题总结
查看>>
js 失去焦点自动计算BMI 保留一位小数
查看>>
js Math.round()
查看>>
java内存中的堆栈、堆、静态区、常量池
查看>>
对接输入输出流;封装拷贝; 封装释放资源
查看>>
装饰器设计模式 :实现放大器对声音的放大动能
查看>>
p15 装饰器设计模式:模拟咖啡
查看>>
sax的解析流程
查看>>