python基础
python输入与输出
"""
可以通过占位符来表示要输出的内容,具体输出什么内容,等到打印阶段再来决定
方式一:%d %s %f 来占位 %(value1,value2,value3)
相当于打印出来的value 会去替换掉这三个占位符
%d==只能代表整数
%s==只能代表字符串
%f==只能代表小数
"""
print("""
---自我介绍---
name:%s
addr:%s
class:%d
sal:%f
"""%("廖廖","湖南",217,9000.00)) #提高代码可读性
"""
方式二:{}来占位.format(v1,v2)
v1和v2自动替换掉花括号
"""
# """ 写在()里面当作参数 输出,输出语句
print("""
-----自我介绍-----
name:{}
addr:{}
class:{}
sal:{}
""".format("廖廖","湖南",217,500.00))
执行结果如下:
数字类型
1、type()——查看变量的数据类型 数字类型: 整数:0-9 int 浮点型: 数字+小数点构成 (小数)float 布尔值:True False 正确或错误 0为False 1为True 复数:实数+虚数组成
num = 9
print (type(num))===结果====> <class 'int'>
f_num = 9.9
res=num==f_num 判断左边和右边的值是否相等 True False
print(type(res))=====执行结果====> <class 'bool'> (不相等)
- 字符串类型
str 字符串 定义:只要被引号括起来的都是字符串,
变量的使用
# 基本的数据计算
num_1=9
num_2=3
result = num_1*num_2 #变量与变量的计算,将结果赋值给另外一个变量
print(result)
#id () -->查看内存地址
#软件运行是再计算内存中运行
# 每一个内存都有一个地址,通过数字记录下来
age1=10
age2=10
print(id(age1))======执行结果=====>得到一串数字,内存地址
print(id(age2))======执行结果=====>得到一串数字,内存地址
#后面自动会理解 [先记录]
#连续赋值
age1=age2=10
print(age1)====执行结果====>10
print(age2)====执行结果====>10
name,age,sex="小明",18,"女"#一一对应
print(name)====执行结果====>小明
print(age)====执行结果====>18
print(sex)====执行结果====>女
# *号的使用—— * 表示将多个值赋值给一个变量
a,*b,c=1,2,3,4,5,6 #不加*号或者每个变量都在*号都会报错
print(a)====执行结果====>1
print(b)====执行结果====>[2,3,4,5]
print(c)====执行结果====>6
字符串转换
"""
转换关键字(函数),将字符串类型,转换成能操作的数字
字符串不能做数学逻辑操作
转换成数字类型数据
前提条件——这个字符串引号内必须是数字
整数 int()
浮点数 float()
布尔值 bool()
任何类型转换成字符串只需加上 str()
"""
st="100"
print(type(st))
print(type(int(st)))
print(type(float(st)))
ss=1
print(type(str(ss)))
小测试——烤鸭店利润的计算
# 给烤鸭店的老板做一个利润计算器
# 用来计算烤鸭店每天的利润是多少——怎么计算?
# 利润=(售价-成本价)*鸭子卖出的数量
# 1.相对友好的提示界面
print("烤鸭店利润计算器卡开始工作")
# 2.让老板自己输入 ——成本价 输入售卖价格
price1= int(input("请输入你的成本价"))
price2=int(input("5请输入你的售卖价"))
num=int(input("请输入你的鸭子数量"))
lr = price2-price1
print("今天你的总利润为:{}".format(lr*num))
运算符
"""
比较运算符 大于 小于 不等于 等于
——所有结果都说bool值
"""
a=10
b=5
print(a > b)#True
print(a < b)#False
print(a == b)#两个等于表示判断 ,单个等于表示赋值 false
print(a != b) #Ture
"""
加减乘除 +-*/
"""
num1=2
num2=5
print(num1+num2)
print(num1-num2)
print(num1*num2)
print(num1/num2)
# 复杂的运算 求余数 ——运算——%
print(num2 % num1) #用途非常广泛 一大份数据拆成三小份去储存
#整除 —— // ——只取整数,不要小数
print(num1 // num2)
#幂 —— ** 第一个num1代表数 第二个num2代表几次方
print(num1**num2)
"""
算数运算符=== 特殊场景使用
加法==如果是数字,那就常规加法 字符串 ,进行拼接
"""
str1 = "华测教育"
str2 = "廖廖学员"
print(str1+str2)
"""
相乘===数字
"""
data = 3
print(str2 * data) #多次输出一段字符串
"""
其他多种类型计算
"""
f2 = 2.111
print(f2 + data) #能相加——5.111000000000001 ——只保留3位
bol = True
print(data + bol) #能相加 bol 可以看作1 bol不是字符串类型所以能相加
""""""
"""
等于号 —— 把右边的值赋值给左边
"""
a = 1
# a = a+5 #简写 a+=5
# a+=5
# print(a)
#
# a=a*5 #简写为 a*=5
a*=5
print(a)
""""""
#逻辑——分支结构
"""
与或非
我们做条件判断的时候,有可能会有多个条件——听小廖同学的课 有权限 有美貌
与 逻辑:两个条件都为真(true),最终结果才为真(true), and 关键字表示与运算
或 逻辑:不管有多少个条件,只要有一个条件为True 最终结果就为Ture or 关键字 表示或
非 逻辑:杠精,不管别人的是Ture 还是 False 它一定是反的, not就表示非运算
"""
a = True
b = False
print(a and b) ====执行结果===>false
print(a or b) ====执行结果===>fTrue
print(not a) ====执行结果===>ffalse
# 升级:
执行顺序,先去执行比较运算,再去执行逻辑运算
print(1>2 and 4>3) #false
print(1>2 or 4>3) #True
print( not 4>3) #f
#升级:
#执行顺序 先执行 not > and > or
print(True and False or True and (not False))
#分层计算
#True and False or True and True
#False or True
#True
升级 执行顺序:算数>比较>逻辑运算
print(1+1>1+2 and 3+2<3-1 or True and (not True))
#2>3 and 5<2 or True and (not True)
#False and False or True and (not True)
#False or False
#False
""""""
"""
判断指定内容是否包含在某个值中
in:存在(包含)
not in : 不在
"""
str = "小明老师"
print("小" in str) #====执行结果====>True
'''成员运算符 不能用于数字类型'''
data = 100
print(1 in 100) #打印结果会报错
bol = True #bool 类型 True False 可以看作 1 和 0
print("T" in bol) #======执行结果====》报错
条件分支结构
""""""
"""
理论上说 if 后面可以跟上任何条件,只要他的运算结果是bool
比较运算符 >< ==
成员运算 in ,not in
直接用bool True 非0 非空 的任何内容
false 0 空
"""
# 0 代表false,为空 所有执行 2222 1 为True 才执行 1111
# if 0:
# print("111") #非空的值为true,执行得111
# else:
# print("2222") #0,空可代表false,执行得222
# a=int(input("请输入数字"))
# b=int(input("请输入数字"))
# if a-b:
# print("True")
# else:
# print("False")
# 非空判断,为Ture 执行,为false 执行else
b=input("----")
if "a"==b:
print("True")
else:
print("False")
""""""
"""
if ... eles
if 条件: 条件为True的时候,会执行if中的代码块,否则就是执行 else
写法:需要缩进,在缩进的代码块里,由 if执行控制
"""
#比如 用户输入了admin 输出一句话——欢迎管理员
name = input("请输入用户名:")
if name=="admin":
print("欢迎回来")
print("一切准备就绪")
else:
print("您尚未注册,请注册")
""""""
"""
有多种条件存在
if 条件1:
代码块1
elif 条件2:
代码块2
elif 条件3:
代码块3
"""
#买票 60岁以上老人 免票,12-59 成人票 4-11 儿童票,0-3 免票
age = int(input("请输入年龄:"))
if age >=60 or 0<age<=3:
print("免票")
elif 12<=age and age<=59:
print("成人票")
elif age>=4 and age <=11:
print("儿童票")
else:
print("请联系管理员")
# 断点调试,先打断点+右键选择调试 快捷键f8 查看下一项调试结果
""""""
"""
if ... else 嵌套使用
if 条件1:条件1为True
if 条件2:
"""
height = int(input("廖欣怡的求偶要求:你的身高是多少?"))
if height>175:
print("可以考虑")
sal = int(input("你的收入是多少"))
if sal>=10000:
print("我们在哪见面")
else:
print("不好意思,我有急事")
else:
print("不好意思,今晚要加班")
# 烤鸭店经营生意变好了,升级为自助烤鸭付款系统,客户要讲价,确定客人的价格是否能卖
#老板请求 能不能帮他, 给一个售卖的标准? 利润低于5时,不能卖 利润高于10时,也不能卖
# 用来计算烤鸭店每天的利润是多少——怎么计算?
# 利润=(售价-成本价)*鸭子卖出的数量
# 1.相对友好的提示界面
while True:
print("烤鸭店利润计算器卡开始工作")
# 2.让老板自己输入 ——成本价 输入售卖价格
price1= int(input("请输入你的成本价"))
price2=int(input("请输入你的售卖价"))
num=int(input("请输入你的鸭子数量"))
lr = price2-price1
# print("今天你的总利润为:{}".format(lr*num))
# 当我的利润小于5或者大于10 的时候 ,不卖了
if lr <5:
print("亏本了,拜拜了您")
elif lr>10:
print("利润太高,我们是要有良心")
else:
print("拿去拿去")
break
# 当我的利润在5到10之间,我才可以卖
循环结构
""""""
"""
while--让代码周而复始的执行
语法:
while 条件:
代码块
条件为 Ture,这个代码块就会重复执行,直到这个条件变成false为止,
每一次执行的时候,都会重复判断条件,从代码块第一行执行到最后一行,
再去判断一次条件,如果 依然为True 就继续执行
"""
# while 3>2 : #工作中不能写这个代码,会占用cpu
# print("你好,死循环")
# num = 0
# while num <4:
# print("循环一次啦")
# num +=1
# print("循环结束")
"""
==============================
关键字规避死循环
break continue:打断当前循环
continiue:遇到关键字,它会重新开启下一次循环,当前循环后续代码不再执行
break : 遇到这个关键字,它会直接打断当前循环,并跳出
"""
num = 0
while 2 > 1:
print("循环开始咯。。。")
if num < 4:
num += 1
continue
print("跳出 continue后,的循环")
# num = 0
# while 2 > 1:
# print("循环开始咯。。。")
# num += 1
# if num == 6:
# break
# print("循环执行到 break ")
""""""
"""
for 循环,
1、遍历——比较复杂的数据结构中,将里面的元素一个个拿出来
语法: for 变量名 in 可迭代数据:
循环体:变量可以被迭代
"""
str = "xiaoming"
nums = 123456 # 数字类型不管多长,它都无法拆分
num = 1
for i in str: #i可看作 str里面的每个字母
print("第{}次打印的字符是{}".format(num,i))
num +=1
|