鱼C论坛

 找回密码
 立即注册
查看: 3419|回复: 3

python3.3.2和python3.4.2是不是不兼容,代码报错

[复制链接]
发表于 2014-11-8 15:32:04 | 显示全部楼层 |阅读模式

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

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

x
print('===========AAAA========')
temp = input("猜数字:")
guess = int(temp)
while guess != 8:
    temp = input("错了,请重新输入:")
    guess = input(temp)
    if guess == 8:
        print("猜中了!")
    else:
        if guess > 8:
            print("大了")
        else:
            Print("小了")
print("游戏结束")
这串代码在3.4.2上执行出现错误信息:
Python 3.4.2 (v3.4.2:ab2c023a9432, Oct  6 2014, 22:16:31) [MSC v.1600 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>>
===========AAAA========
猜数字:1
错了,请重新输入:2
2
Traceback (most recent call last):
  File "E:/python/def.py", line 10, in <module>
    if guess > 8:
TypeError: unorderable types: str() > int()
>>>

求大神指导

错误信息.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-11-8 17:11:56 | 显示全部楼层
本帖最后由 戴宇轩 于 2014-11-8 17:35 编辑

第13行的print的第一个字母要小写,不是Print
第六行应该是guess = int(temp)
还有,你的程序即使按上面改,运行结果也不会和你的预期一样,代码应该是:
  1. print('===========AAAA========')
  2. guess = int(input('猜数字:'))
  3. while guess != 8:
  4.     if guess > 8:
  5.         print('大了')
  6.     else:
  7.         print('小了')
  8.     guess = int(input('请重新输入:'))
  9. print('猜中了!\n游戏结束')
复制代码



小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2014-11-8 18:08:41 | 显示全部楼层
打错函数了呦,while循环里的guess应该赋值为int不是input。
其实这样的事情楼主以后可以自己排查。python报错我感觉还是比较好调试的(虽然木接触过其他语言。)
它提示的是"文件...第10行的问题,而且是类型错误,字符串不能和整形比较。"而报错的那句
if guess > 8: 和整形比较的是guess这个变量,所以找上面guess为啥是字符串咧,明明做了int处理,soga,原来是打错函数了。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2014-11-9 10:56:37 | 显示全部楼层
楼上正解 可综合二三楼
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-13 06:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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