根据第2课小游戏改动的升级版
各位大神能帮我看看为啥不对吗? 把代码复制发出来这要对着图片不太好找 本帖最后由 Daniel_Zhang 于 2021-1-1 16:06 编辑
你知道第三行的 int() 是在干嘛吗?
int(temp)
我记得小甲鱼在最开始的时候有讲, int() 是强制转换成 int 类型。你一个文字怎么转换成 int 呢
只有当你输入的为数字的时候,才需要用 int() 强制转换,因为 input() 那里获取的输入是一个 str 类型,如果不强制转换成 int 的话,无法和数字进行比较
比如说:
'1' > 0 这个是有问题的,因为 '1' 是str 0 是 int,类型不同无法比较
但是你这里,输入的是一个 str '女',你比较的时候是 if temp == '女' 也就是 str 和 str 进行对比,所以此处你再用 int 强制转换就变成了 int 和 str 的对比了。先不说 '女' 能不能转换成 int,就算能,int 和 str 的对比也是会有语法问题的 男和女这是汉字,属于字符串
是不能通过int()转化为整体的 再次试了改动还是不行,恳请指点。 print("-----------我爱鱼c工作室----------")
guess = input("不妨猜一下我是男是女:")#input的返回值就是字符串不用转换
if guess=="女":#等号后面也要带引号,表示字符串
print("卧槽,你居然猜对了")
print("猜对了也没有奖励")
if guess=="男":#也可以用else
print("猜错了,我是女的")
print("游戏结束")
详细的解释在注释里,其他的不懂的话可以继续问哈
满意的话请设置为最佳答案 哦,原来是这样。学的不够深入。我再学下去看看是不是字符转化的问题没理解对。 米哈伊尔 发表于 2021-1-1 16:06
哦,原来是这样。学的不够深入。我再学下去看看是不是字符转化的问题没理解对。
类型问题往后在学学就会讲到了,不难理解 楼主倒是设置个最佳答案再走啊{:10_277:} 万分感谢大家的指点帮助!我给你们磕头啦!!!砰!砰!砰! 甲鱼会删帖的哦
页:
[1]