python 学习一--变量&格式化输出&分支&循环结构

python 学习一

变量

变量命名:

规则:
变量名由字母、数字和下划线构成,数字不能开头。
Python 是大小写敏感的编程语言

惯例部分:
惯例1:变量名通常使用小写英文字母,多个单词用下划线进行连接。
惯例2:受保护的变量用单个下划线开头。
惯例3:私有的变量用两个下划线开头。

可以使用变量来保存数据,变量有不同的类型,常用的类型有int、float、str和bool。
可以通过 Python 内置的函数对变量进行类型转换。

变量类型

int():将一个数值或字符串转换成整数,可以指定进制。
float():将一个字符串(在可能的情况下)转换成浮点数。
str():将指定的对象转换成字符串形式,可以指定编码方式

运算符

比较运算符也称为关系运算符,包括**==、!=**、<、>、<=、>=
比较运算符会产生布尔值,要么是True,要么是False。

逻辑运算符有三个,分别是and、or和not (返回结果为布尔型)

格式化输出

一、百分号法(不能前多后少)

在这里插入图片描述

  • %d -->整数
  • %s–>字符串
  • %f–>小数
    • %.2f–>最终结果保留 两位小数

例子:

wendu = float(input('请输入华氏温度: '))
c = (wendu - 32) / 1.8
# 一
print('%.1f华氏度 = %.1f摄氏度' % (wendu, c))
# 二(是的,也可以写成这种,但注意f'')
print(f'{wendu:.1f}华氏度 = {c:.1f}摄氏度')

format()函数

在这里插入图片描述

总结一下(格式化输出)

百分号法 前面的格式 是'%d/f/s',后面也是%(xx,xx,xx)
前后类型必须对应
format() 前面的格式 是{} 后面的格式是.{format()}
format() 可以指定参数的位置,也可以重复应用参数

分支结构

一、if elif else

例子计算 BMI
在这里插入图片描述

height = float(input('身高(cm):'))
weight = float(input('体重(kg):'))
bmi = weight / (height / 100) ** 2
print(f'{bmi = :.1f}')

if 18.5 <= bmi < 24:
    print('你的身材很棒!')

if语句的最后面有一个 ‘:’

if 18.5 <= bmi < 24:
    print('你的身材很棒!')
else:
    print('你的身材不够标准哟!')
if bmi < 18.5:
    print('你的体重过轻!')
elif bmi < 24:
    print('你的身材很棒!')
elif bmi < 27:
    print('你的体重过重!')
elif bmi < 30:
    print('你已轻度肥胖!')
elif bmi < 35:
    print('你已中度肥胖!')
else:
    print('你已重度肥胖!')

二、match case

match 主要适用于 具体值匹配,对于范围判断 if-elif 可能更加直观
例子:HTTP 响应状态码识别

status_code = int(input('响应状态码: '))
match status_code:
    case 400: 
		description = 'Bad Request'
    case 401: 
    	description = 'Unauthorized'
    case 403: 
    	description = 'Forbidden'
    case 404: 
    	description = 'Not Found'
    case 405: 
    	description = 'Method Not Allowed'
    case 418: 
    	description = 'I am a teapot'
    case 429: 
    	description = 'Too many requests'
    case _: 
    	description = 'Unknown Status Code'
print('状态码描述:', description)

带有case_语句在代码中起到通配符的作用,如果前面的分支都没有匹配上,代码就会来到case _。
case _的是可选的,并非每种分支结构都要给出通配符选项。如果分支中出现了case _,它只能放在分支结构的最后面.
如果它的后面还有其他的分支,那么这些分支将是不可达的。

match-case语法还有很多高级玩法,例如合并模式

status_code = int(input('响应状态码: '))
match status_code:
    case 400 | 405: description = 'Invalid Request'
    case 401 | 403 | 404: description = 'Not Allowed'
    case 418: description = 'I am a teapot'
    case 429: description = 'Too many requests'
    case _: description = 'Unknown Status Code'
print('状态码描述:', description)

循环结构

for in 循环

for in 循环是知道需要循环的次数

补充知识:range函数
  • range(101):可以用来产生0到100范围的整数,需要注意的是取不到101。
  • range(1, 101):可以用来产生1到100范围的整数,相当于是左闭右开的设定,即[1, 101)。
  • range(1, 101, 2):可以用来产生1到100的奇数,其中2是步长(跨度),即每次递增的值,101取不到。
  • range(100, 0, -2):可以用来产生100到1的偶数,其中-2是步长(跨度),即每次递减的值,0取不到。

可以理解为[x,y)

补充知识:time 、sleep

Python 内置time模块的sleep函数可以实现程序的休眠,参数1表示休眠的秒数,可以使用int或float类型,例如0.05表示50毫秒。(具体的知识,之后介绍)

例子:执行一个小时,每秒输出hello,world

import time

for i in range(3600):
    print('hello, world')
    time.sleep(1)

上面代码的输出操作和休眠操作都没有用到循环变量i,对于不需要用到循环变量的for-in循环结构,按照 Python 的编程惯例,我们通常把循环变量命名为_

import time

for _ in range(3600):
    print('hello, world')
    time.sleep(1)

while 循环

如果要构造循环结构但是又不能确定循环重复的次数,我们推荐使用while循环。

while循环通过布尔值来控制循环。true --循环,false --停止
例子:用while循环来实现从 1 到 100 的整数求和

total = 0
i = 1
while i <= 100:
    total += i
    i += 1
print(total)
break和continue

break只能终止它所在的那个循环
break例子:计算 1 到 100 的偶数和

total = 0
i = 2
while True:
    total += i
    i += 2
    if i > 100:
        break
print(total) 

continue,它可以用来放弃本次循环后续的代码直接让循环进入下一轮

total = 0
for i in range(1, 101):
    if i % 2 != 0:
        continue
    total += i
print(total)

上面的代码使用continue关键字跳过了i是奇数的情况,只有在i是偶数的前提下,才会执行到total += i。

嵌套的循环结构

嵌套的循环来输出一个乘法口诀表(九九表)。

for i in range(1, 10):
    for j in range(1, i + 1):
        print(f'{i}×{j}={i * j}', end='\t')
    print()

本笔记参考文章(感谢老师的付出,给我的学习提供参考):https://github.com/jackfrued/Python-100-Days/blob/master/Day01-20/06.%E5%BE%AA%E7%8E%AF%E7%BB%93%E6%9E%84.md

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值