
如果你还记得第三篇的内容有一行代码是这样的age int(input(请输入你的年龄))当时我说input()拿到的内容是字符串要用int()转换才能当数字用。但我没有仔细讲input()到底是什么也没讲为什么需要转换。今天就来补上这一课顺便把布尔类型、比较运算符和逻辑运算符一起搞定。一、input():程序是怎么“听”到你说话的input()是Python里最基础的输入函数它的作用是暂停程序等待用户在键盘上输入内容按回车后把输入的内容作为字符串返回。先看一个简单的例子name input(请输入你的名字:) print(你好 name)运行后请输入你的名字张三 你好张三程序会先打印请输入你的名字,然后停在那里等你输入。你输入张三并按下回车后name就会被赋值为张三然后程序继续往下走打印你好张三.关键点input()永远返回字符串。不管你输入的是数字、字母还是汉字input()拿到的都是一个字符串。这就是为什么第三篇里需要用int(input())来转换。二、布尔类型为什么程序里只有真和假?布尔类型bool是 Python 里最简单的一种数据类型——它只有两个值True 和 False。True 表示“真”“成立”“正确”False 表示“假”“不成立”“错误”。举个例子is_student True is_teacher False print(is_student) # True print(is_teacher) # False你可能已经猜到了**布尔值通常不是自己写出来的而是通过比较得出来的。三、比较运算符程序是怎么判断对还是错的?比较运算符的作用是比较两个值然后返回True或False。运算符含义示例结果等于5 5True!不等于5 ! 3True大于5 3True小于5 3False大于等于5 5True小于等于5 3False注意 是赋值 是比较。新手最容易把 写成 这个坑我第三篇也踩过。四、逻辑运算符把多个条件组合起来有时候一个条件不够需要多个条件同时满足这个时候就需要逻辑运算符。运算符含义示例结果and两个都真才真True and FalseFalseor有一个真就真True or FalseTruenot取反not TrueFalseand:两真才真age 20 print(age 18 and age 60) # True在这个例子里age 18是Trueage 60也是True两个都真所以结果是True。or一真即真score 85 print(score 60 or score 80) # Truescore 60是 False85不小于60但score 80是 True85大于80有一个真所以结果是 True。not颠倒黑白is_sleeping True print(not is_sleeping) # Falsenot把True变成了False把False变成了True。五、一个我踩过的坑input()和布尔值一起用的时候第三篇我提到过input()返回的是字符串,但我当时没意识到这个坑在布尔判断里特别隐蔽。举个例子age input(请输入你的年龄) if age 18: print(成年了)你输入20运行后TypeError: not supported between instances of str and int报错了因为age是字符串20,字符串不能和整数18做比较。解决方法把字符串转成整数age int(input(请输入你的年龄)) if age 18: print(成年了)这个坑我踩过之后养成了一个习惯只要用 input() 拿数字就立刻用 int() 包住它。六、综合示例体温检测程序把今天学的东西串起来写一个体温检测的小程序def check_temperature(): print(欢迎来到辽宁请出示您的健康码以及72小时核酸证明并配合测量体温。) temp_str input(请测量并输入您的体温) temp float(temp_str) if temp 37.5: print(f体温测量中您的体温是{temp}度体温正常请进) else: print(f体温测量中您的体温是{temp}度需要隔离) check_temperature()运行结果输入37.3欢迎来到辽宁请出示您的健康码以及72小时核酸证明并配合测量体温。 请测量并输入您的体温37.3 体温测量中您的体温是37.3度体温正常请进这段代码包含了·input()数据输入·float()类型转换体温可能会有小数·if-else条件判断·比较运算符( )·f-string格式化输出七、一个需要注意的地方什么时候用int(),什么时候用float()int()转换整数float()转换浮点数带小数的数·年龄用int(input())·体温、身高、体重……用float(input())·分数、价格用 float(input())注意37.3你用 int() 会报错。这时候要用 float()。比如