鱼C论坛

 找回密码
 立即注册
查看: 2028|回复: 14

请问关于第一002讲课后作业的问题

[复制链接]
发表于 2018-1-14 22:12:42 | 显示全部楼层 |阅读模式

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

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

x
要求用户输入姓名并打印"你好,姓名!"
为什么以下这样的编写在shell中输入名字后报错呢?

temp = input("Please type your name:")
guess = int(temp)
if guess == bill gates:
    print("Hello,"+guess+"!")
else:
    print("Hello,"+guess+"!")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-1-14 22:17:59 | 显示全部楼层
bill gates是字符串要用引号包起来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-14 22:33:58 | 显示全部楼层
1.你的名字temp是一个中文字符串, 不能 int(temp)
2.程序中的bill gates是什么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-14 22:36:59 | 显示全部楼层
temp = input("Please type your name:")
guess =str(temp)
billgates='khh'
if guess == billgates:
    print("Hello,"+guess+"!")
else:
    print("Hello,"+guess+"!")

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

使用道具 举报

发表于 2018-1-14 22:39:39 From FishC Mobile | 显示全部楼层
input输入的是字符串,只有数字字符串才能int,文字不能。而且bill gates没定义,python不知道它是什么。这些报错提示都有,你需要点英文基础
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-14 23:47:37 | 显示全部楼层
首先你的bill gate是什么,如果是字符串的话要加引号,其次,前面你已经将temp强制转换成整型,那guess就是整型,==号前后两个数据类型必须一致才行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-15 14:00:57 | 显示全部楼层
本帖最后由 冰封雪舞 于 2018-1-15 14:02 编辑

1  .guess = int(temp)这句话有问题,文字型字符串不能用int函数来转化,因为int函数是把数值型字符串转化为可计算的整数数值,如果是一些汉字或者英文字母怎么转化为整数?所以碰到这种情况计算机只能报错。
2  .if guess == bill gates:里那个bill gates是什么东西?是一个人的名字吗?还是一个变量名字,如果是一个人的名字需要加上引号,也就是'bill gates'让计算机知道你是说如果guess里边的内容与‘bill gates’这个字符串一样,那么就执行下边的程序。
如果bill gates不是一个人的名字,而是一个变量名称,那么你前边需要给它声明一下,也就是bill_gates=‘名字’,这样计算机也能知道,哦,这是说如果guess里边的内容等于变量bill_gates变量里边的内容,就执行下边的程序。
另我把你的程序做了一下,小小的改进,你看下,读懂后 说不定有帮助。
temp = input("Please type your name:")
guess = temp
bill_gates = ['张三','李四','王二麻子','朱大肠','bill gates']
if guess in bill_gates:
    print("Hello,"+guess+"!")
else:
    print("查无'"+guess+"'此人")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-1-15 14:11:06 | 显示全部楼层
比尔·盖茨(Bill Gates,全名:William Henry Gates III,亦称:威廉·亨利·“比尔”·盖茨三世),1955年10月28日出生于美国华盛顿州西雅图,是美国著名企业家、软件工程师、慈善家以及微软公司的董事长。

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

使用道具 举报

发表于 2018-1-15 15:49:46 | 显示全部楼层
首先看你的代码是判断输入的名字是不是bill gate
问题1:第二行的代码是guess = int(temp),表示将你你一行输入的字符串转变为整型,不用int(),这样反而只能在第一行输入数字类型的字符串了,如123,输入字母就会报错.int()不能讲非数字类型的字符串转化为整型.
问题2:第三行代码 if guess == bill gates: ,如果bill gates是一个字符串那么需要将它用引号括起来,如果为变量需要给它赋值.
修改后代码如下:
guess = input("Please type your name:")
if guess == 'bill gates':
    print("Hello,"+guess+"!")
else:
    print("Hello,"+guess+"!")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-26 21:21:19 | 显示全部楼层
94xueit 发表于 2018-1-15 15:49
首先看你的代码是判断输入的名字是不是bill gate
问题1:第二行的代码是guess = int(temp),表示将你你一行 ...

非常感谢您的解释和帮助!由于刚刚开始看零基础学python,做着课后作业的时候很多东西自己思考不清楚,也不明白怎么百度,幸亏有这样一个地方和愿意帮助人的您!已经明白了错在了什么地方以及一些自己没搞懂的地方,再次感谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-26 21:22:46 | 显示全部楼层
冰封雪舞 发表于 2018-1-15 14:00
1  .guess = int(temp)这句话有问题,文字型字符串不能用int函数来转化,因为int函数是把数值型字符串转化 ...

明白了,非常感谢!刚开始学习python,有很多基础搞不清楚,感谢您的回复和帮助!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-26 21:29:35 | 显示全部楼层
orino 发表于 2018-1-14 22:17
bill gates是字符串要用引号包起来

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

使用道具 举报

 楼主| 发表于 2018-1-26 21:31:10 | 显示全部楼层
°蓝鲤歌蓝 发表于 2018-1-14 22:33
1.你的名字temp是一个中文字符串, 不能 int(temp)
2.程序中的bill gates是什么?

刚开始学,基础太差了,经过解答后才明白int只能整形数字型字符串不能整形文字型字符串。
bill——gates是我想让输入者回答的正确答案,比尔盖茨,但是没有给这个字符串加上引号,如果是视作变量的话也没有给它赋值!感谢您的回复和帮助!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-26 21:31:58 | 显示全部楼层
328973833 发表于 2018-1-14 22:36
temp = input("Please type your name:")
guess =str(temp)
billgates='khh'

嗯嗯,明白了,如果是字符串我没有加引号,如果是变量的话我又没有赋值,才会运行错误!
感谢您的帮助和回复!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-26 21:32:47 | 显示全部楼层
大头目 发表于 2018-1-14 22:39
input输入的是字符串,只有数字字符串才能int,文字不能。而且bill gates没定义,python不知道它是什么。这 ...

好的!我会努力学习的,刚开始,基础太差了,感谢您的解答和回复还有督促!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-24 01:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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