美文网首页简友广场散文
Python编程:04- 格式化字符串,补齐,循环语句break

Python编程:04- 格式化字符串,补齐,循环语句break

作者: 小小一颗卤蛋 | 来源:发表于2023-03-29 23:42 被阅读0次

格式化字符串

格式化字符,类似于字符串的拼接,比普通的拼接方式更加简便

 a=6, b=9
 print(str(a)+'+'+str(b)+'='+str(a+b))  # 普通的拼接方式打印6+9=15
 print('%d+%d=%d'%(a,b,a+b))  # 格式化字符串的方式

方案一:格式化字符串

1、%s 字符串 ,%d 整数 ,%f 浮点数

 info1='我是%s,你是%s,他是%s,今年是%d年.'%('天乐','青云','德华',2021)
 print(info1)

2、前面的占位符比后面的参数多,则报错

 info1='我是%s,你是%s,他是%s,今年是%d年.'%('天乐','青云','德华')
 print(info1)

3、前面的占位符比后面的参数少,也报错

 info1='我是%s,你是%s,他是%s.'%('天乐','青云','德华',2021)
 print(info1)

4、前面是%d,后面是str型,报错

 info1='你是%d'%('天乐')
 print(info1)

5、前面是%s,后面是数字,不报错

 info1='你是%s'%(100)
 print(info1)

字符串补齐(一)

1、补齐 %ns: n是任意整数,表示补齐到n位,不足n位用空格补齐,默认右对齐

 info1='我是%5s,你是%5s,他是%5s,今年是%5d年.'%('天乐','青云','德华',2021)
 print(info1)

2、如果字符串本身就超过了n位,显示全部字符

 info1='我是%5s,你是%5s,他是%5s,今年是%5d年.'%('真正的高手名字不会很长','青云','德华',2021)
 print(info1)

3、对于数字,可以在左侧补0,%010d--表示左侧用0补齐到10位

 info1='我是%5s,你是%5s,他是%5s,今年是%010d年.'%('天乐','青云','德华',2021)
 print(info1)
# 输出:我是   天乐,你是   青云,他是   德华,今年是0000002021年.

4、左对齐 : %-ns

 info1='我是%-5s,你是%-5s,他是%-5s,今年是%-10d年.'%('天乐','青云','德华',2021)
 print(info1)
# 输出:我是天乐   ,你是青云   ,他是德华   ,今年是2021      年.

5、%f 浮点型 ,默认保留6位小数

 number1='您输入的数字是%f'%(3.6)
 print(number1)

6、%.2f 保留两位小数

 number1='您输入的数字是%.2f'%(3.6)
 print(number1)

7、%10.2f补齐到10位,保留两位小数

 number1='您输入的数字是%10.2f'%(3.6)
 print(number1)

方案二: 格式化字符串.format()

1、format() 前后参数一一对应

 str1='My name is {},Your name is {},age is {}'.format('Clark','Ralf',21)  # 三个对应三个
 print(str1)

2、format() 前面的参数比后面的参数多,报错

 str1='My name is {},Your name is {},age is {}'.format('Clark','Ralf') # 三个对应两个
 print(str1)

3、format() 前面的参数比后面的参数少,不报错

 str1='My name is {},Your name is {}'.format('Clark','Ralf',21) # 两个对应三个
 print(str1)

字符串补齐(二)

1、补齐 {:n} n是任意整数 不足n位时补齐到n位,字符串默认左对齐, 数字默认右对齐

 str1='My name is {:10},Your name is {:10},age is {:10}。'.format('Clark','Ralf',21)
 print(str1)
# 输出:My name is Clark     ,Your name is Ralf      ,age is         21。

2、{:010}--补0

 str1='My name is {:10},Your name is {:10},age is {:010}'.format('Clark','Ralf',21)
 print(str1)
# 输出:My name is Clark     ,Your name is Ralf      ,age is 0000000021

3、改变对齐方式 :> 右对齐 ,< 左对齐, ^ 居中对齐(尖尖在哪边就是哪边对齐)

 str1='My name is {:>10},Your name is {:<10},age is {:<10}。'.format('Clark','Ralf',21)
 print(str1)
# 输出:My name is      Clark,Your name is Ralf      ,age is 21        。

4、{}里面没有写数字时,是顺序取值法,写了数字时,是下标取值法

# 顺序
 str1='My name is {},Your name is {},age is {}'.format('Clark','Ralf',21)
 print(str1)
# 输出:My name is Clark,Your name is Ralf,age is 21

# 下标 
str1='My name is {1},Your name is {0},age is {2}'.format('Clark','Ralf',21)
 print(str1)
# 输出:My name is Ralf,Your name is Clark,age is 21

5、顺序取值法与下标取值法不能混用,否则报错

 str1='My name is {1},Your name is {0},age is {}'.format('Clark','Ralf',21)
 print(str1)

在python3.6之后的版本中,可以使用更简便的写法

 name1='天乐'
 name2='青云'
 str2=f'My name is {name1},Your name is {name2}'  #简单方便
 print(str2)

循环:一组被重复执行的语句称之为循环

1.while循环,从1打印到10

 i=1 
 while i<=10:  # 设置循环结束条件
     print(i)  # 循环时做什么动作
     i += 1  # i 每次自增长1 

2.for循环,1打印到10
range(起始值,终止值,步长) :包含起始值(不设置的话默认为0),不包含终止值,步长的缺省值为1,设置为-1,则可倒转顺序

 for i in range(1,11):  # range(起始值,终止值,步长)  包含起始值,不包含终止值,步长的缺省值为1
     print(i)

循环语句的选择:
1、如果有明确的循环次数,建议用for循环,
2、如果循环次数不确定,建议用while循环,两者可以互相替换

3、打印100以内的奇数,设置步长为2,初始为1即可

 for i in range(1,100,2):
     print(i)

4、for循环的起始值省略时,默认为0

 for i in range(10):
     print(i)

遍历列表

方式一,用下标的方式进行遍历

 list1=['火','炎','焱','燚']
 for i in range(len(list1)):
     print(list1[i])

方式二,直接遍历

 list1=['火','炎','焱','燚']
 for one in list1:
     print(one)

break语句与continue语句

  • break 停止循环
 for i in range(1,11):
     if i==5:
         break
         print('Hello')  #break与continue后的语句是不可达语句
     else:
         print(i)
  • continue 跳出当次循环
 for i in range(1,11):
     if i==5:
         continue
         print('Hello')  #break与continue后的语句是不可达语句
     else:
         print(i)

循环语句中也可以带一个else语句,当循环成功执行完毕时,会执行一次else中的语句

 for i in range(1,11):
     if i==5:
         pass  #占位符
     else:
         print(i)
 else:  #如果循环中执行了break语句则else中的语句不执行,其他情况下执行
     print('循环执行完毕')

应用:写一个倒计时程序

 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倒计时结束')

相关文章

网友评论

    本文标题:Python编程:04- 格式化字符串,补齐,循环语句break

    本文链接:https://www.haomeiwen.com/subject/svjqddtx.html