Python 轻松学会写程式笔记-第3节34-型别转换Casting

来 我们再来写一个if的练习

age = input('请输入年龄:')
if age >= 20:
	print('你可以投票')

一样 用input来问使用者 这一次问年龄好了
因为是问年龄 我们就存成age

然后我先存档 if1

然后写一个if
如果年龄大于等于20
我们就印出 你可以投票

执行看看
Python f1
请输入年龄 输30的话呢
哇 出现一段错误讯息

Traceback (most recent call last):
  File "34.py", line 2, in <module>
    if age >= 20:
TypeError: '>=' not supported between instances of 'str' and 'int'

这边一大段是一个错误讯息
我可以 我圈起来给你看好了
这边有一个 你看它这边写Error
Error就是错误
那前面写Type TypeError就是
你记不记得我们讲资料型别的时候
DataType
有四种 整数 浮点数 布林值 字串

有四种Type 那个就是Type
TypeError就是总资料型别错误
那这个错误它这边有解释
我直接用白话文翻给你听
就是说我们这个大于等于这个符号
不能把字串跟整数做比较
== >=不能把字串跟整数做比较 ==
字串是age
整数是20
我圈给你看
不能把字串跟整数做比较
它在这边Crash
它在这边当掉 停掉
来来来 你一定很好奇
age为什么是字串 对不对
我们刚刚明明输入30
我们刚刚不是输入30吗
为什么是字串
问题就是因为
input这个功能是让使用者输入
它存下来的内容
永远都会存成字串

所以即便我们刚刚输入30
明明是整数
它一样偷偷给你补了那个字串的符号
‘30’
就这个符号
把你的这个30变成字串了
哇 那糟糕 那怎么办
大于等于不能把字串跟整数做比较
我们是不是要先把
age 这个字串转换成整数
它现在是字串
我们把它转换成整数
这个叫做 英文上叫casting
CASTING就是型别转换
那怎么做这个casting型别转换呢
就是我们多打一行在这边 就这样

age = input('请输入年龄:')
age = int(age)
if age >= 20:
	print('你可以投票')

int是什么意思
整数
四种资料型别裡面的第一种 整数的简写 它全名叫integer 它的简写叫int
那Python裡面我们都是用简写
我们用Int把age括号起来
我们就可以把它转换成整数了
那转换成整数之后呢
我们记得要存回去 等号是右边存到左边
所以透过这一行转换之后存回去
age就变成整数了
它不再是字串了
第一行的时候它是字串
第二行的时候它变整数了
那因为它变整数了
我们用大于等于的时候
整数就可以跟整数做比较了
这边就不会当掉了
原本是字串不能比较
我们存档
确定一下它有没有 不再会当掉呢
输入30 Enter
你可以投票 正常了
结果:

请输入年龄:25
你可以投票

我们再输入一个40好了 你可以投票
50 你可以投票
你看如果我输入一个5岁
5岁当然不能投票

请输入年龄:5

它就没印出来对不对
所以我们就没有进这个框框
这个if的框框
现在最关键就这一句话
型别转换
你们要稍微记一下这句话
把age转换成整数的写法
然后要记得用等号等于age
存回去
存回去覆盖掉它原本的值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值