鱼C论坛

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

为啥这个程序不行?

[复制链接]
发表于 2019-7-4 12:27:54 | 显示全部楼层 |阅读模式

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

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

x
print('------------------------------by流年月苏落尽几许-------------------------------')
temp=input("猜一猜这世界上最帅气最聪明体育游戏都超级棒的男孩是谁?")
guess=int(temp)
if guess=='谭宇杰':
    print("wow~ ⊙o⊙你怎么知道的?就是天之骄子谭宇杰呢。")
    print("对啦对啦,恭喜你答对啦")
else:
    print("不对哦,这都猜不中啊,提示一下895")
print("好啦游戏结束了,不玩儿啦")
运行之后
猜一猜这世界上最帅气最聪明体育游戏都超级棒的男孩是谁?'谭宇杰'
Traceback (most recent call last):
  File "C:\Users\22122\Desktop\编程\01.py", line 3, in <module>
    guess=int(temp)
ValueError: invalid literal for int() with base 10: "'谭宇杰'"
>>>
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-7-4 12:34:00 | 显示全部楼层
本帖最后由 chengduyangge 于 2019-7-4 12:36 编辑

input()函数录入的是字符串,而int()函数是将字符串转为数字,那么guess为数字的话,怎么和'谭宇杰'这个字符串进行比较呢?

你可以把   guess=int(temp)   这行去掉,直接让字符串进行比较就可以了

另外:你这个报的错还没到这个问题,报的错应该是你输入的不是数字,所以不能进行类型转换,

比如说,你输入的汉字:张三,那么int()函数就无法对张三进行类型转换,就会抛出这个异常
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-4 13:00:57 | 显示全部楼层
本帖最后由 chenyiyun 于 2019-7-4 13:03 编辑
  1. print('------------------------------by流年月苏落尽几许-------------------------------')
  2. temp=input("猜一猜这世界上最帅气最聪明体育游戏都超级棒的男孩是谁?")
  3. guess=str(temp)
  4. if guess=='谭宇杰':
  5.     print("wow~ ⊙o⊙你怎么知道的?就是天之骄子谭宇杰呢。")
  6.     print("对啦对啦,恭喜你答对啦")
  7. else:
  8.     print("不对哦,这都猜不中啊,提示一下895")
  9. print("好啦游戏结束了,不玩儿啦")
复制代码


Traceback
我给你改了一下,你试试。
I've changed it for you. You w'll try.

它是数据类型出现了问题。
It's a data type problem.
应该是str,而不是int。
It should be str, not int.
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-4 13:32:47 | 显示全部楼层
int(temp)直接换成temp就行,temp本身就是字符串类型,int(temp)是将字符串转换成整型,而这里你输入的temp明显无法转换成int型
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-4 15:29:23 | 显示全部楼层
我也不清楚
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

发表于 2019-7-4 21:34:45 | 显示全部楼层
中文字符如何转化成整型呢。。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-5 21:25:49 | 显示全部楼层
“谭宇杰”这个字符串咋转换成整型呢?
正确代码如下:

  1. print('------------------------------by流年月苏落尽几许-------------------------------')
  2. temp=input("猜一猜这世界上最帅气最聪明体育游戏都超级棒的男孩是谁?")
  3. if temp=='谭宇杰':
  4.     print("wow~ ⊙o⊙你怎么知道的?就是天之骄子谭宇杰呢。")
  5.     print("对啦对啦,恭喜你答对啦")
  6. else:
  7.     print("不对哦,这都猜不中啊,提示一下895")
  8. print("好啦游戏结束了,不玩儿啦")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-5 21:26:31 | 显示全部楼层

不清楚就被发,有何用呢?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-9 19:36:35 | 显示全部楼层
把guess=int(temp)中的int改成str就可以了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-16 16:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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