第三讲if guess == 后写中文怎么修改都不能运行中文
本帖最后由 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("游戏结束!睡觉去!")
int()是整型啊,改成str(temp)试下 int() 用于将指定的值转换成整数。 伊格利斯 发表于 2020-11-26 04:35
int()是整型啊,改成str(temp)试下
本身已经是字符串了为什么还要用 str() 呢 temp本身就已经是字符串了,为啥下面还要int一下给他转换成整形呢?只有纯数字才能int化。 本帖最后由 逃兵 于 2020-11-26 08:24 编辑
int函数是将变量变为整型
而我们输入的汉字是字符串类型,无法变成整型
在这里直接给guess赋值就可以了
附源码
""" 用python设计的第一个游戏 """
temp = input("你最好尽快猜对游歌想做什么:")
guess = temp
if guess == "录明细":
print("终于猜对了,看来你已更进一步!")
print("可以进行下一步的学习啦")
else:
print("猜错了,你为什么这么蠢,伤心!")
print("游戏结束!睡觉去!")
楼主对 input 函数和 int 函数理解不够,导致出现这样的问题
input 是接收用户输入的信息,并将其转换为字符串
而 int 函数,是将纯整数字符串转换为整形(既整数)
所以此时,如果你要用 guess 猜字符时,只要把 guess = int(temp)删除即可
因为你输入中文或者字母、字符时,int函数无法转换其为一个整数导致报错
_2_ 发表于 2020-11-26 06:27
本身已经是字符串了为什么还要用 str() 呢
因为我也是新手啊,这样不报错也能运行 伊格利斯 发表于 2020-11-27 21:52
因为我也是新手啊,这样不报错也能运行
……我并没说会报错,只是这样做多此一举
页:
[1]