鱼C论坛

 找回密码
 立即注册
查看: 1487|回复: 9

[已解决]关于一个简单小程序的问题

[复制链接]
发表于 2017-7-11 11:39:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我尝试弄了个小文本,但是打出来的结果却不尽人意,希望大家能帮我找出问题。
(按理来说我输入一个小于18的数字应该出现的是'teenager',但是却出现'adult',我不知道为什么。。。)
如下图。
最佳答案
2017-7-11 11:41:47
input 返回的是字符串类型,字符串类型不能比较数值大小,所以需要先将 age 转换为 int,然后再与 18 进行比较:

  1. if int(age) >= 18::
  2.     print("adult")
  3. else
  4.     print("teenager")
复制代码
2017-07-11 (1).png
2017-07-11.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-7-11 11:41:47 | 显示全部楼层    本楼为最佳答案   
input 返回的是字符串类型,字符串类型不能比较数值大小,所以需要先将 age 转换为 int,然后再与 18 进行比较:

  1. if int(age) >= 18::
  2.     print("adult")
  3. else
  4.     print("teenager")
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-11 11:42:53 | 显示全部楼层
第三行改成
  1. age = int(input('please type your age'))
复制代码

因为你在if语句的条件是
'18'
应该直接用 18
第四行改成
  1. if age >= 18:
复制代码

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-11 14:08:30 | 显示全部楼层
老甲鱼老哥回复你了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-11 14:25:09 | 显示全部楼层
俩问题:
1、甲鱼哥说了,input接收后输出的是个字符串,要先用int()函数把字符串转成数字再比较
2、你的年龄那里应该直接写数字,你输入了字符串,字符串在布尔判断里的结果是 TURE
  1. name = input("Please write down your name:")
  2. print("Welcome",name)
  3. age = input("Please write down you age:")
  4. age = int(age)
  5. if age >= 18:
  6.     print('adlut')
  7. else:
  8.     print('teenager')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-7-11 14:28:29 | 显示全部楼层
你可以在IDLE里面输入
  1. bool('adult')
复制代码

看下结果就知道了
PS:在恢复里输入图好复杂@小甲鱼
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-12 14:28:28 | 显示全部楼层
小甲鱼 发表于 2017-7-11 11:41
input 返回的是字符串类型,字符串类型不能比较数值大小,所以需要先将 age 转换为 int,然后再与 18 进行 ...

哇甲鱼哥居然回我 好感动~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-12 14:29:42 | 显示全部楼层
portcc 发表于 2017-7-11 14:28
你可以在IDLE里面输入

看下结果就知道了

bool是什么。。。?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-12 17:00:15 | 显示全部楼层
lila 发表于 2017-7-12 14:29
bool是什么。。。?

bool是数据类型,就是只有  「是」和「否」两个答案。
这就是循环处理的基础
比如
  1. while  xxx  True:
复制代码

就是用了这个数值在判断啊。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-7-13 11:34:47 | 显示全部楼层
用int()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 15:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表