python-字符串格式化输入和循环

一、字符串格式化
1、% 格式化方法

格式化传数据

name = 'tom'
age  = 20
info = '我叫%s,年龄是%s' %(name,age) # %s---这个位置传入的值时字符串,解释器会自动转
#格式化不允许传入的参数是列表
  • %s 转换为字符串
  • %d 转换为有符号的十进制数值
  • %f 转换为浮点数
  • %x 转成无符号十六进制数
print('%5d' %56)#指定宽度输出,至少 >= 本身的长度
print('%05d' %56)#输出为00056
#%-5d --左对齐右补齐  %5d  -- 右对齐左补齐
print('%f' % 3.141593678)  #默认6位小数,四舍五入
print('%.3f' %3.141576444) #保留三位小数
print('%6.3f' %3.1415926) #6表示整体长度为6
2、format()方法

位置不能空着 就是只要你写了{} format方法就要传进去足够的参数:但是format方法传的值可以多

  • 顺序填值
  • 下标填值
  • 变量填值
  • f’’ 格式化
    补齐方法:> 右对齐,左补齐 < 左对齐,右补齐 ^ 异或中间对齐
    补指定字符 {:指定补齐的字符<6} 表示左对齐,右补齐6位
name = 'tom'
age = 30
info = '我叫{},年龄是{}' .format(name,age) # 不能传列表
info = '我叫{:<6},年龄是{:<6}' .format(name,age)#:补齐字符
info = '我叫{0:*<6},年龄是{0:<6}' .format(name,age)#下标填值
info = '我叫{name},年龄是{age}' .format(name = 'tom',age = 20)#变量填值
info = f'我叫{name:*>6},年龄是{age:*>6},' #右对齐左补齐 6位
二、循环
1、while循环

求1到100的和:实现基本代码如下

def get_sum()
	cnt = 1
	while cnt <= 100:
		sum+=cnt
		cnt+=1
#这个函数只能实现1-100的累加 复用性不好
#现在要求可以实现任意范围的累加
#实现任意范围可以加上开始和结束的参数
def get_sum(start,end)
	cnt = start
	while cnt <= end:
		sum+=cnt
		cnt+=1
#但是 如果要实现等差,等比这样的数列的和呢?
#我们可以考虑加上步长,不要固定每次加1 可以加指定的
def get_sum(start,end,step)
	cnt = syart
	while cnt <= end:
		sum+=cnt
		cnt+=step
2、for循环

for循环适用于遍历操作,需要指定循环的次数

namelist = ['tom','jack']
for name in namelist:
    print(name)
#指定循环次数
for one in range(开始,结束,步长---默认是1)
3、嵌套循环

外层的循环几次,内层代码就会全部执行几次

nameList = ['tom','lily','Jack']
for one in range(0,3):
    for name in nameList:
        if name == 'Jack':
            print('有JACK!')
 #输出 3次
4、break和continue的用法
#continue,跳过循环
a = '2123456'
for letter in a:
    if letter == '2':
        continue
    print(letter)
#运行结果:1 3 4 5 6

#break,跳出循环
b = '1234567'
for sam in b:
    if sam == '2':
        break
    print(sam)
运行结果:1
var = 10
while var > 0:
    print(var)
    var = var - 1
    if var == 5:
        break
print('Good Bye')
#运行结果:10 9 8 7 6 Good Bye
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值