python学习第二天
输入
这篇文章我们来讲讲 python是如何进行输入的 先看一下源代码:
name = input('请输入你的名字:') #在这里我们定义一个变量name 它的值就是后面input要输入的内容 这里它的内容是可变得
print(name)
看一下控制台运行的结果:在这里我没有给他进行输入名字的样子
看一下我们输入一个名字为tom以后的结果
看 在这里程序给我返回了一个tom
为什么说我上一篇文章里将 变量的具有临时性 可变性呢?
因为我们再次运行程序以后 我们再输入一个 tim 那name的值就又会变成tim
在进行input输入时不要注意的是:input接收到的数据都会保存为str类型
具体的数据类型可以去看一下我的上一篇文章
链接我发在这里:https://blog.youkuaiyun.com/qq_59472803/article/details/118361285?spm=1001.2014.3001.5501
说来说去我们有回归到数据类型了 因为我们使用input输入值接收以后需要进行使用 难免要做一些比较之类的操作 这里就涉及到另一个概念了:
数据类型转换:
我们部分情况下可能会需要不同的数据类型进行运算或者拼接,所以我们需要先将数据类型进行转换 ,之后 我们再进行运算或者拼接 否则 程序就会报错。
先看一段代码:
# 假设我们这里有一个用户的数据 名字叫做吴老二 它的身份ID是123456 它的账户余额是17.96元
# 这里我们做一个 input输入告诉程序 以上信息
name = input('请输入您的名字:')
ID = input('请输入您的ID号:')
money = input('请输入您的账户余额:')
print(name)
print(ID)
print(money)
查看一下它的输出:
这个是没有问题的哈 那我们看一下它的数据类型:
看到了吗?上篇我们也说过 input接收存储起来的都是字符串类型(srt)
那我们如果要使用的话 大家看吴老二的身份ID是不是一串数字 金额是不是一个小数啊
看过我上篇文章的应该都明白 ID的这串数字是不是整型啊(int ) 而金额这个带小数的是不是一个浮点型(float)的啊
那我们怎么去做转化呢? 上代码:
# 假设我们这里有一个用户的数据 名字叫做吴老二 它的身份ID是123456 它的账户余额是17.96元
# 这里我们做一个 input输入告诉程序 以上信息
name = input('请输入您的名字:')
ID = input('请输入您的ID号:')
money = input('请输入您的账户余额:')
print(type(name))
print(type(int(ID)))
print(type(float(money)))
那我们看看输出的数据类型是什么:
是不是转化过来了呀 是不是感觉很神奇
重点来了啊:
字符串(str)、整型(int)、浮点型(float)之间的转化要遵循一定的规则
1、整型和浮点型之间可以进行任意的转化 (整型转化为浮点型末尾添加 .0 浮点型转化为整型 将小数点去掉 只保留整数部分)
2、字符串和整型之间转化需要字符串内是整型 上代码解释一下
name = input('请输入您的名字:')
print(type(int(name))) #这是错误的
因为我们输入的是汉字 或者字母 所以转化失败了 记住int是整型 是数字
3、提一点 字符串转化为整型 字符串内也可以是浮点型 这也能转化
4、所有的整数和浮点型都可以转化为字符串类型
这里我给大家做一个简单的小项目:
去超市购物 买一种水果 需要输入它的单价 你买的斤数 然后自动计算价钱输出
# 去超市购物 购买苹果 买了3.8斤 单价是没斤5.6
name = input('请输入您购买的商品名称:')
weight = float(input('请输入您购买的商品量:'))
price = float(input('请输入您购买的商品的单价:'))
print(f'您购买了{name},买了{weight:.2f}斤,{name}的单价是{price:.2f},一共需要支付{weight * price:.2f}元')
这是输出结果:
大家可以自己去动手尝试着去做一做
**
算数运算符:
**
上面在计算商品总价的时候 是不是涉及到了一个运算啊 应该有人在想(*)这个星号是什么鬼 那下面我们就来讲讲 python中的算术运算符。
这个算数啊 和我们数学里面的是一样
+(加) - (减) *(乘) / (除) %(取余) // (整除) **(幂运算)
加减乘除 四则运算 相信妲己应该都不陌生了 如果连四则运算都不知道的 那你也不会刷到我的文章
取余 是做除法 以后保留余数 看代码
a = 10 #a 的值为10
print( a % 3) #在这里输出的是 10除以3 它的结果是 3余1 取余就是不要3这个商 保留1这个余数
所以他的输出结果就是 1
/ / 整除 也是做除法 保留商 不要余 看代码:
a = 10 #a 的值为10
print( a // 3) #在这里输出的是 10除以3 它的结果是 3余1 整除就是保留3这个商 丢弃1这个余数
它的输出结果就是 3
** 幂运算 这个大家都知道吧 就是乘方
接下来 我们做一个案例
求取梯形的面积 公式就是 (上底 + 下底)*高 / 2
# 这里我们人为的去输入长度 注意input接受的是字符串 所以我们要转化为 浮点型去计算
a = float(input('请输入上底的长度'))
b = float(input('请输入下底的长度'))
h = float(input('请输入高的长度'))
print(f'面积为:{(a + b) * h / 2:.2f}') #使其运算结果保留两位小数
看输出结果:
是不是很神奇
运算符的优先级:
()最先执行 > ** > // % / * > + -
小技巧: 在不清楚运算符优先级的情况下,可以加括号使其优先执行。
加括号可以增加代码的可读性。
赋值运算符
= 这就是赋值运算符
a = 10 #我们读作将10 赋值给a
多个变量同时赋值 左侧的变量数 一定要= 右侧的变量数 看代码:
a,b,c = 10,20,30
print(a)
print(b)
print(c)
看输出结果
一次性给多个变量赋相同的值
a = b = 10
print(a)
print(b)
就是这么简单
复合运算符
先看一下复合运算符都有啥
+= 、-= 、*=、 /=、%=、 //= 、 **= #复合运算符
a +=1 ===>> a = a + 1 #a +=1 等同于 a = a + 1
看代码:
# 我们设定年龄是18sui
age =18
print(age)
age += 1
print(age)
是不是清晰明了一点儿
在使用赋值运算符的时候需要有几点注意:
1、使用复合赋值运算符时 不能使用未定义的变量
2、在我们使用复合赋值运算符的时候,先将等号右侧的公式进行计算在赋值给左侧
3、复合赋值运算符不能连等
4、使用场景一定是经过计算后赋值给原来的变量 否则会出现错误
比较运算符
>,<,<=,>=,==,!=
- 比较后返回的结果是bool类型 False True
- 可以连续使用
逻辑运算符
- and 同真即真
- or 同假即假
- not 真变假 假变真
#and 运算左右两侧都是True则返回结果为True 否则返回False
# 同真即真
print(False and True) # False
print(True and True) # True
print(True and False) # False
print(False and False) # False
# or 运算左右两侧有一侧为真则为真,两侧都为假即为假
# 同假即假
print(True or True) # True
print(True or False) # True
print(False or True) # True
print(False or False) # False
# not 取反,如果修饰内容为真,则为假,如果修饰内容为假,及为真
# 真变假,假变真
print(not False) # True
print(not True) # False
在逻辑运算符的使用中,一般左右两侧并不是bool类型的值,而是可以计算为布尔类型的表达式:例如:比较运算
age = 18
print(age >16 and age <10) #False
print(age > 16 and age <20) #True
print(age <10 and age >20) #False
print(age <16 or age >10) #True
print(age <20 or age >10) #True
print(age <10 or age >20) #Flase
print(age <5 or age >10) #True
print(not (10 <= age <= 20 )) #Flase
print(10 <= age <= 20) #True