python精讲day02-字符串格式化和控制语句

字符串格式化

# 字符串格式化输出
# 1. print 可以一次输出多个变量
name = input("请输入您的名字")
age = input("请输入您的年龄")
# print(type(age))
addr = input("请输入您的地址")
# 输出以上信息, 并且计算此人20年后多少岁
print('姓名 :', name, '年龄 :', age, '地址 :', addr, '20年后', int(age)+20, '岁') #
# print(v1, v2) 之间默认有一个空格
print('姓名 :', name, '年龄 :', age, '地址 :', addr, '20年后', int(age)+20, '岁',sep='') #

# 2. %s 格式化(类似c语言)  %s 代表str %d int %f float .2 保留2位小数
# " %s"%(v1, v2...)
print('--'*20)
print('姓名 :%s, 年龄 :%d, 地址 :%s, 20年后%.2f岁'%(name, int(age), addr, float(int(age)+20) )) #
print('--'*20)

# 3. format格式化 (推荐)
# "{}  ".format(v1, v2, v3)
print('姓名 :{}, 年龄 :{}, 地址 :{}, 20年后{}岁'.format(name, int(age), addr, float(int(age)+20)))
print('姓名 :{3}, 年龄 :{0}, 地址 :{1}, 20年后{2}岁'.format(int(age), addr, float(int(age)+20), name))

# 4. f 字符串格式化 (推荐)

print(f'姓名 :{name}, 年龄 :{int(age)}, 地址 :{addr}, 20年后{float(int(age)+20)}岁')

运算符的分类

  • 算数运算符
  • 赋值运算符
  • 复合赋值运算符
  • 比较运算符
  • 逻辑运算符

1. 算数运算符

运算符描述实例
+1 + 1 输出结果为 2
-1-1 输出结果为 0
*2 * 2 输出结果为 4
/10 / 2 输出结果为 5
//整除9 // 4 输出结果为2
%取余9 % 4 输出结果为 1
**指数2 ** 4 输出结果为 16,即 2 * 2 * 2 * 2
()小括号小括号用来提高运算优先级,即 (1 + 2) * 3 输出结果为 9
# 算数运算符
a = 10
b = 4
print(a/b)
print(a//b) # 整除
print(a%b) # 取余数
print(a**b) # 幂运算
print(16**0.5) #
print((1 + 4)**2)

2 .赋值运算符

运算符描述实例
=赋值=右侧的结果赋值给等号左侧的变量
+=加法赋值运算符c += a 等价于 c = c + a
-=减法赋值运算符c -= a 等价于 c = c- a
*=乘法赋值运算符c *= a 等价于 c = c * a
/=除法赋值运算符c /= a 等价于 c = c / a
//=整除赋值运算符c //= a 等价于 c = c // a
%=取余赋值运算符c %= a 等价于 c = c % a
**=幂赋值运算符c ** = a 等价于 c = c ** a
# 赋值运算符
c = a
print(f'c = {c}')
c += 10
# c = c + 10
print(f'c = {c}')
num = 89757
print(f'个位 = {num%10}')
num //= 10
print(f'十位 = {num%10}')
num //= 10
print(f'百位 = {num%10}')
num //= 10
print(f'千位 = {num%10}')
num //= 10
print(f'万位 = {num%10}')

3. 比较运算符

比较运算符也叫关系运算符, 通常用来判断。

运算符描述实例
==判断相等。如果两个操作数的结果相等,则条件结果为真(True),否则条件结果为假(False)如a=3,b=3,则(a == b) 为 True
!=不等于 。如果两个操作数的结果不相等,则条件为真(True),否则条件结果为假(False)如a=3,b=3,则(a == b) 为 True如a=1,b=3,则(a != b) 为 True
>运算符左侧操作数结果是否大于右侧操作数结果,如果大于,则条件为真,否则为假如a=7,b=3,则(a > b) 为 True
<运算符左侧操作数结果是否小于右侧操作数结果,如果小于,则条件为真,否则为假如a=7,b=3,则(a < b) 为 False
>=运算符左侧操作数结果是否大于等于右侧操作数结果,如果大于,则条件为真,否则为假如a=7,b=3,则(a < b) 为 False如a=3,b=3,则(a >= b) 为 True
<=运算符左侧操作数结果是否小于等于右侧操作数结果,如果小于,则条件为真,否则为假如a=3,b=3,则(a <= b) 为 True
# 比较运算符
sal1, sal2 = 1000, 2000
print(sal1 == sal2) # False
print(sal1 != sal2) # True
print(sal1 >= sal2) # False
print(sal1 <= sal2) # True
print(sal1 > sal2) # False
print(sal1 < sal2) # True

4. 逻辑运算符

运算符逻辑表达式描述实例
andx and y布尔"与":如果 x 为 False,x and y 返回 False,否则它返回 y 的值。True and False, 返回 False。
orx or y布尔"或":如果 x 是 True,它返回 True,否则它返回 y 的值。False or True, 返回 True。
notnot x布尔"非":如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。not True 返回 False, not False 返回 True
# 逻辑运算
age1 = 19
isCard1 = False # 是否有驾照
money1 = 300000
# 比如是否能买宝马, 价格是20万
age = age1
isCard = isCard1
money = money1
# 逻辑与  and
isCard = True
result1 = age > 18 and isCard and money >= 200000
print(f'第一个人是否可以买车{result1}')

# 逻辑或 or
isCard = False
age = 6
money = 78
result2 = age > 18 or isCard or money >= 200000
print(f'第二个人是否可以买车{result2}')


# 逻辑非 not
print(isCard)
print(not isCard)
  • 算数运算的优先级
    • 混合运算优先级顺序:()高于 ** 高于 * / // % 高于 + -
  • 复合赋值运算符优先级
    1. 先算复合赋值运算符右侧的表达式
    2. 再算复合赋值运算的算数运算
    3. 最后算赋值运算

标识符和关键字

关键字: 关键字 就是在 Python 内部已经使用的标识符
关键字 具有特殊的功能和含义

True   False 等
import keyword
print(keyword.kwlist)
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

标识符就是程序员自己命名的 变量名。 名字 需要有 见名知义 的效果,不要随意起名。

  • 标示符可以由 字母、下划线 和 数字 组成
  • 不能以数字开头
  • 不能与关键字重名
变量命名风格

下划线风格
stu_name = “张三”
大驼峰
StudentName
小驼峰 第一个单词首字母小写,剩余首字母大写
studentNameInfo

程序执行结构

  • 顺序结构
  • 分支结构
  • 循环结构

分支结构(条件语句)

在这里插入图片描述

if elif else 语句

格式

# 条件判断的结果是布尔值, True代表满足条件 False代表不满足条件
if 条件判断1:
    满足条件1要执行的事情
# if 可以单独存在
elif 条件判断2:
    满足条件2要执行的事情
elif 条件判断3:
    满足条件3要执行的事情
...

else:
    上面条件都不满足时要执行的事情
    
# 注意
elif 必须结合if 不能单独存在
else 必须结合if 不能单独存在
age = int(input("请输入您的年龄"))
money = int(input("请输入您的余额"))
if age >= 18 and age<= 150 and money >= 3:
    print("恭喜您成年了, 可以去网吧")
elif age < 18 and age >=0 and money > 0.5:
    print("对不起, 你还是个宝宝, 买包辣条吧")
else:
    print("你不应该在这个世界")

猜拳游戏

剪刀、石头、布又称“猜丁壳", 设计猜拳游戏, 玩家出拳, 然后此时电脑也出拳, 判断哪个玩家获胜
在这里插入图片描述

# 猜拳游戏
from random import randint
computer = randint(1, 3) # 生成[1, 3]之间的随机整数
# print(computer)
player = int(input('请出拳 ⽯头(1)剪⼑(2)布(3)'))
if (player==1 and computer==2) or (player==2 and computer==3) or (player==3 and computer==1):
    print("玩家胜利!!")
elif player==computer:
    print("平局!")
else:
    print("你真菜, 我赢了!")

水仙花数

水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。编写程序判断一个数是不是水仙花数(假设默认用户输入的是合法三位数)

num = int(input('请输入一个三位数'))
temp = num
ge = num%10
num//=10
shi = num%10
num//=10
bai = num%10

if (ge**3 + shi**3 + bai**3) == temp:
    print("是水仙花数")
else:
    print("不是水仙花数")

循环

请思考: 找到所有水仙花数?
在这里插入图片描述

while 循环

语法

while 条件:
	循环体
i = 1
while i<=10:
    print(i)
    i+=1 # 不要忘记每次维护进行自增

计算 1 ~100 的累加和

i = 1
sums = 0 # 袋子 存储累加和
while i<=100:
    # print(i)
    sums += i;
    i+=1 # 不要忘记每次维护进行自增
print(f"sums = {sums}")

作业

BMI计算器
计算公式为:BMI=体重÷身高^2。(体重单位:千克;身高单位:米。)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值