鱼C论坛

 找回密码
 立即注册
查看: 2838|回复: 8

[已解决]第三讲if guess == 后写中文怎么修改都不能运行中文

[复制链接]
发表于 2020-11-26 02:21:39 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 liudarkmoon 于 2020-11-26 02:22 编辑

if guess == 后写中文怎么修改都不能运行中文,换成数字就可以运行
连格式改成一模一样也不行
不知道为啥不能加图
=============== RESTART: /Users/aziaihesudashui/Documents/game.py ==============
你最好尽快猜对游歌想做什么:录明细
Traceback (most recent call last):
  File "/Users/aziaihesudashui/Documents/game.py", line 4, in <module>
    guess = int(temp)
ValueError: invalid literal for int() with base 10: '录明细'
>>>
报错如上
""" 用python设计的第一个游戏 """

temp = input("你最好尽快猜对游歌想做什么:")
guess = int(temp)

if guess == "录明细":
    print("终于猜对了,看来你已更进一步!")
    print("可以进行下一步的学习啦")
else:
    print("猜错了,你为什么这么蠢,伤心!")
    
print("游戏结束!睡觉去!")
最佳答案
2020-11-26 08:23:08
本帖最后由 逃兵 于 2020-11-26 08:24 编辑

int函数是将变量变为整型
而我们输入的汉字是字符串类型,无法变成整型
在这里直接给guess赋值就可以了

附源码
""" 用python设计的第一个游戏 """

temp = input("你最好尽快猜对游歌想做什么:")
guess = temp
if guess == "录明细":
    print("终于猜对了,看来你已更进一步!")
    print("可以进行下一步的学习啦")
else:
    print("猜错了,你为什么这么蠢,伤心!")
    
print("游戏结束!睡觉去!")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-26 04:35:11 From FishC Mobile | 显示全部楼层
int()是整型啊,改成str(temp)试下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-26 05:02:33 | 显示全部楼层
int() 用于将指定的值转换成整数。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-26 06:27:10 From FishC Mobile | 显示全部楼层
伊格利斯 发表于 2020-11-26 04:35
int()是整型啊,改成str(temp)试下

本身已经是字符串了为什么还要用 str() 呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-26 07:40:33 | 显示全部楼层
temp本身就已经是字符串了,为啥下面还要int一下给他转换成整形呢?只有纯数字才能int化。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-26 08:23:08 | 显示全部楼层    本楼为最佳答案   
本帖最后由 逃兵 于 2020-11-26 08:24 编辑

int函数是将变量变为整型
而我们输入的汉字是字符串类型,无法变成整型
在这里直接给guess赋值就可以了

附源码
""" 用python设计的第一个游戏 """

temp = input("你最好尽快猜对游歌想做什么:")
guess = temp
if guess == "录明细":
    print("终于猜对了,看来你已更进一步!")
    print("可以进行下一步的学习啦")
else:
    print("猜错了,你为什么这么蠢,伤心!")
    
print("游戏结束!睡觉去!")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-26 09:20:20 | 显示全部楼层

楼主对 input 函数和 int 函数理解不够,导致出现这样的问题

input 是接收用户输入的信息,并将其转换为字符串

而 int 函数,是将纯整数字符串转换为整形(既整数)

所以此时,如果你要用 guess 猜字符时,只要把 guess = int(temp)删除即可

因为你输入中文或者字母、字符时,int函数无法转换其为一个整数导致报错


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

使用道具 举报

发表于 2020-11-27 21:52:28 From FishC Mobile | 显示全部楼层
_2_ 发表于 2020-11-26 06:27
本身已经是字符串了为什么还要用 str() 呢

因为我也是新手啊,这样不报错也能运行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-28 08:47:04 From FishC Mobile | 显示全部楼层
伊格利斯 发表于 2020-11-27 21:52
因为我也是新手啊,这样不报错也能运行

……我并没说会报错,只是这样做多此一举
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-17 13:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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