打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python----格式化字符串、简单数据类型转换、分支、循环
userphoto

2023.04.24 宁夏

关注

Python基础

  • 格式化
    • 格式化字符串
      • 旧式格式化字符串方法
      • format方法
      • 格式化字符串字面值
      • 高级格式化
        • 保留小数位数
        • 千分位符
        • 百分比
        • 左右居中对齐
  • 简单数据类型转换
    • 数字类型
      • 整型(int)
      • 浮点型(float)
      • 布尔值
  • 分支结构
    • 单分支结构
    • 多分支结构
    • 嵌套分支结
    • 三目运算符
    • pass
  • 循环结构
    • for in 循环结构
    • range方法
    • while 循环
    • break和continue关键字
  • 合照来一张

格式化

格式化字符串

旧式格式化字符串方法

age1 =21
age2 = 22
name1 = '雨菲'
name2 = '罗三儿'
print('%d岁的%s爱上了%d的%s'%(age2,name2,age1,name1)) # 22岁的罗三儿爱上了21岁的雨菲

%d,%s,%f等被称为占位符,%s对应字符串,%d对应整型,%f对应浮点型。
%f:默认保留6位小数。
%.Nf:保留N位小数,遵循四舍五入原则。

pi=3.1415
print('圆周率为:%f' %pi)#3.141500
print('圆周率为:%3f' %pi)#3.142

format方法

在字符串中加入{},字符串外调用farmat方法,在format中传入值,按照一一对应的关系写入对应的{}。

age1 =21
age2 = 22
name1 = '雨菲'
name2 = '罗三儿'
print(' {}岁的{}爱上了{}的{}'.format(age2,name2,age1,name1)) # 22岁的罗三儿爱上了21岁的雨菲

{}中的':’,起说明作用,':’后面的内容就是说明内容。

pi = 3.1415
print('圆周率为{:.6f}.format{pi}')

格式化字符串字面值

针对format方法 的优化,将format简写为f或F。

age = 21
name = '雨菲'
school = '苏科大'
pi = 13.1452
print(f'{name}在{age}岁考上了{school}')#雨菲在21岁考上了苏科大
print(f'{name}说圆周率等于{pi:.5f}')#雨菲说圆周率等于13.14520(:后跟说明性内容)

高级格式化

保留小数位数

如果保留六位小数,只需要写:f,区别于%.f。
:表示针对数据修改的说明,f表示浮点型,并保留6位小数。
任意指定小数位数时,需写明位数:str = f’{131452:.nf}',n为整数

千分位符

千分位符:',’

str1=f'余额:{8888888888:,}'#余额:8,888,888,888

百分比

百分比和保留小数位数组合,%前添加.N,N表示 小数位数。

str2 = f'今日被爱:{1:.2%}'#今日被爱:100.00%

左右居中对齐

左对齐 :<, 右对齐 :>, 居中对齐: ^

a = '雨菲'
str3 = f'{a:❤<10}'
str4 = f'{a:❤>10}'
str5 = f'{a:❤^10}'
print(str3,'\n',str4,'\n',str5)
"""
雨菲❤❤❤❤❤❤❤❤ 
 ❤❤❤❤❤❤❤❤雨菲 
 ❤❤❤❤雨菲❤❤❤❤
 """

简单数据类型转换

类型转换:所有的数据类型后面加小括号,即可以将其变为数据类型转换的方法(构造器语法)。

数字类型

整型(int)

什么类型的数据可以转换为int型数据?
浮点型,去掉引号后是一个整数的字符串,布尔值均可以转换为int型

int(1314.520)#直接舍弃小数部分-->1314
int('1314')#1314
int(True)#1
int(False)#0

浮点型(float)

什么类型的数据可以转换为float型数据?
整型,数字字符串,布尔值均可以转换为float型

print(float(1234))#1234.0
print(float('12.34'),float('100.'),float('.0'))#12.34  100.0  0.0
#可以将无意义的0隐藏掉。
print(float(True),float(False))#1.0  0.0

布尔值

什么类型的数据可以转换为布尔值?
所有数据均可以转换为False(所有表示空值和0的数据)和True(不是False的数据)

print(bool(0),bool(0.0),bool(None),bool(''),bool([]),bool({}))#False False False False False False

print(bool(1314),bool(' '),bool('None'),bool([None]))#True True True True

分支结构

判断在python中就属于分支结构,分支结构需要用的系统关键字(系统保留字):if、else、elif

单分支结构

单分支:只有是与否两种情况,只能有一条分支被执行。有分支被执行,就说明代码块被执行。想知道代码块属于谁,看缩进(四个空格),缩进的方法有:手动敲空格,编辑器自动缩进,不用制表符tab键。
语法:
if 条件:
代码块1
else:
代码块2

life = 18
if life >= 18:
	print('已成年')
else:
	print('未成年')

多分支结构

多分支语法:

if 条件1:
	代码块1
elif 条件2:
	代码块2
elif 条件3:
	代码块3
......
else:
	代码块N

嵌套分支结

嵌套分支分支结构是可以相互嵌套的,按照语法,每一条分支下面都有一个代码块,可以在代码块中写无数行代码。
例:

num = 20
if num % 2 ==0:
	print(f'{num}是偶数)
	if num % 4 ==0:
		print(f'{num}还是4的倍数')
else:
	print(f'{num}是奇数')

在分支结构中,else并不是一定要写的。

三目运算符

三目运算符语法:

结果1 if 条件 else 结果2 
如果条件成立,答案为结果1,否则为结果2。

三目运算符就是单分支结构的变形,但并不是所有的单分支结构都可以改为三目运算符结构。作用:解决单分支结构臃肿的问题,使代码更美观,更具可读性。

life = 18
if life >= 18:
	print('已成年')
else:
	print('未成年')

print('已成年' if life >=18 else '未成年')

pass

pass语句什么都不做,只是一个占位符,用在语法上需要语句的地方

def fun(a, b):
    pass

什么时候使用pass语句:先搭建语法结构,还没想好代码怎么写的时候 。
pass语句与哪些语句一起使用:

if语句的条件执行体
for-in语句的循环体
定义函数def时的函数体
a = 1
b = 2

if a < b:
    pass

for i in range(10):
    pass

def fun(a, b):
    pass

循环结构

循环的作用:可以让程序重复的执行某一类工作;Python中主要有for循环和while循环;主要涉及关键字:for 、 in 、 while 、 break 、 continue

for in 循环结构

for in 循环语法:

for 变量  in 容器:
	代码块

注:容器中元素是固定好的,个数是有限的,for循环根据容器中元素个数确定循环次数,每循环一次,变量就会从容器中取一个元素,直到循环次数达到容器中元素个数时,停止。

输出100~1000的水仙花数

#输出100-1000之间的水仙花数  
#这个数的个位上的三次方 + 十位上的三次方 + 百位上的三次方  = 这个数
for item in range(100, 1001):
    ge = item % 10
    shi = item % 100 // 10  # item//10%10
    bai = item // 100
    if item == ge**3+shi**3+bai**3:
        print(item)

range方法

range:是一个方法,左闭右开区间,能更具提供的数字,生成一个有限个数的整数容器。

语法:

range(start,stop,step)
start:开始参数,默认为零,可以省略不写
stop:结束参数。
step:步长,决定下一个数字获取谁,默认为1,可以省略不写;如果步长出现,start就不能省略。
range(15)#生成一个0-14的整数容器
range(1,101)#生成一个由1到100组成的容器
range(10,50,3)#生成一个10~50,步长为3的整数容器,(10,13....49)
range(10,-11,-1)#生成一个10~-10的整数容器。

while 循环

for循环是有限次数循环还是无限次数循环?答案:有限次数循环
while循环既可以用作有限次数循环,也可用作无限次数循环。但是程序不允许出现无限次循环(死循环)。

一般for循环被用作有限次数循环,while循环被用作不确定次数的循环。

案例:猜数字游戏(又被称为:数字炸弹)

# 在1-100之间,随机取一个数字,玩家去猜,猜对了接受惩罚;猜大了,提示再小一点;猜小了,提示再大一点。
from random import randint
# random:随机模块
# randint方法:能够从指定范围(闭区间)产生一个整数。
number = randint(1, 100)
# print(number)
flag = True
while flag:
    num = int(input('请输入你猜的数字:'))
    if num > number:
        print('再小一点')
    elif num < number:
        print('再大一点')
    else:
        print('猜对了,游戏结束,接受惩罚')
        flag = False

while循环语法:

while 条件:
    代码块
while循环开始时,先判断条件是否成立,条件成立,执行代码块,不成立,直接结束。
一次循环结束后,再次判断条件是否还成立。

break和continue关键字

break:只能用于循环中,break一旦被触发,直接结束其所在循环。

continue:只能用于循环中,continue一旦被触发,直接结束其所在循环的本次循环,进入下一次循环。

for _ in range(1, 3):
    # 当for循环的作用仅仅是循环次数时,变量可以使用_代替。
    for i in range(1, 6):
        if i == 4:
            print('======')
            # break
            continue
            print('******')
        else:
            print(i)

break --> 位置错误,break和continue必须置于循环内。

上述代码体现了嵌套循环,for-in循环和while循环是允许相互嵌套的。

合照来一张

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
十分钟入门 Python 教程
Python字符串格式化-数字精度控制
Python入门基础——(章五 条件、循环及其他语句)
Python学习笔记(一)基本输出和分支循环
python 基础(三)
Python基础语法——代码规范&判断语句&循环语句
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服