鱼C论坛

 找回密码
 立即注册
查看: 2828|回复: 5

[已解决]求大佬们帮我看看为什么我这个会报错啊?

[复制链接]
发表于 2021-6-28 11:30:57 | 显示全部楼层 |阅读模式

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

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

x
  1. import random
  2. times = 3
  3. secret = random.randint(1,10)
  4. print("--------------------")
  5. print("猜1到10里面猜整数哦")
  6. guess = 0
  7. temp = input()
  8. if (temp is int):
  9.     while (guess != secret) and (times > 2):   
  10.         guess = int(temp)
  11.         times = times - 1
  12.         if guess == secret:
  13.             print("猜对了")
  14.         else:
  15.             if guess > secret:
  16.                 print("猜大了")
  17.             else:
  18.                 print("猜小了")
  19.     while guess != secret and times > 1:
  20.         print("再给你一次机会接着猜")
  21.         temp = input()
  22.         guess = int(temp)
  23.         times = times - 1
  24.         if guess == secret:
  25.             print("猜对了")
  26.         else:
  27.             if guess > secret:
  28.                 print("又猜大了")
  29.             else:
  30.                 print("又猜小了")
  31.     while guess != secret and times > 0:
  32.             print("最后一次机会了啊")
  33.             temp = input()
  34.             guess = int(temp)
  35.             times = times -1
  36.             if guess == secret:
  37.                 print("终于猜对了")
  38.             else:
  39.                 print("废物")
  40.     print("结束了")
  41. else:
  42.     print("1到10整数,你输的是个啥?")
  43.     temp2 = input()                       [color=Red][b]///////////////////////////////就这里一直出错[/b][/color]
  44.     if (temp2 is int):
  45.          while (guess != secret) and (times > 2):   
  46.             guess = int(temp2)
  47.              times = times - 1
  48.              if guess == secret:
  49.                 print("猜对了")
  50.             else:
  51.                  if guess > secret:
  52.                     print("猜大了")
  53.                  else:
  54.                     print("猜小了")
  55.           while guess != secret and times > 1:
  56.              print("再给你一次机会接着猜")
  57.              temp2 = input()
  58.              guess = int(temp2)
  59.              times = times - 1
  60.              if guess == secret:
  61.                  print("猜对了")
  62.                  else:
  63.                      if guess > secret:
  64.                          print("又猜大了")
  65.                      else:
  66.                          print("又猜小了")
  67.             while guess != secret and times > 0:
  68.                  print("最后一次机会了啊")
  69.                  temp2 = input()
  70.                  guess = int(temp2)
  71.                  times = times -1
  72.                  if guess == secret:
  73.                      print("终于猜对了")
  74.                  else:
  75.                      print("废物")
  76.             print("结束了")
  77.         else:
  78.             print("给你机会都不珍惜")
复制代码


那个temp2那里一直在报错
最佳答案
2021-6-28 14:47:02
缩进问题

python对t缩进非常严格

  1. import random
  2. times = 3
  3. secret = random.randint(1,10)
  4. print("--------------------")
  5. print("猜1到10里面猜整数哦")
  6. guess = 0
  7. temp = input()
  8. if (temp is int):
  9.     while (guess != secret) and (times > 2):   
  10.         guess = int(temp)
  11.         times = times - 1
  12.         if guess == secret:
  13.             print("猜对了")
  14.         else:
  15.             if guess > secret:
  16.                 print("猜大了")
  17.             else:
  18.                 print("猜小了")
  19.     while guess != secret and times > 1:
  20.         print("再给你一次机会接着猜")
  21.         temp = input()
  22.         guess = int(temp)
  23.         times = times - 1
  24.         if guess == secret:
  25.             print("猜对了")
  26.         else:
  27.             if guess > secret:
  28.                 print("又猜大了")
  29.             else:
  30.                 print("又猜小了")
  31.     while guess != secret and times > 0:
  32.             print("最后一次机会了啊")
  33.             temp = input()
  34.             guess = int(temp)
  35.             times = times -1
  36.             if guess == secret:
  37.                 print("终于猜对了")
  38.             else:
  39.                 print("废物")
  40.     print("结束了")
  41. else:
  42.     print("1到10整数,你输的是个啥?")
  43.     temp2 = input()                     
  44.     if (temp2 is int):
  45.         while (guess != secret) and (times > 2):   
  46.             guess = int(temp2)
  47.             times = times - 1
  48.             if guess == secret:
  49.                 print("猜对了")
  50.             else:
  51.                  if guess > secret:
  52.                     print("猜大了")
  53.                  else:
  54.                     print("猜小了")
  55.         while guess != secret and times > 1:
  56.             print("再给你一次机会接着猜")
  57.             temp2 = input()
  58.             guess = int(temp2)
  59.             times = times - 1
  60.             if guess == secret:
  61.                  print("猜对了")
  62.             else:
  63.                  if guess > secret:
  64.                      print("又猜大了")
  65.                  else:
  66.                      print("又猜小了")
  67.             while guess != secret and times > 0:
  68.                  print("最后一次机会了啊")
  69.                  temp2 = input()
  70.                  guess = int(temp2)
  71.                  times = times -1
  72.                  if guess == secret:
  73.                      print("终于猜对了")
  74.                  else:
  75.                      print("废物")
  76.             print("结束了")
  77.         else:
  78.             print("给你机会都不珍惜")
复制代码


另外判断是否为整数用 temp.isnumeric()而非temp is int

修改代码为

  1. import random
  2. times = 3
  3. secret = random.randint(1,10)
  4. print("--------------------")
  5. print("猜1到10里面猜整数哦")
  6. guess = 0
  7. temp = input()
  8. if temp.isnumeric():
  9.     while (guess != secret) and (times > 2):   
  10.         guess = int(temp)
  11.         times = times - 1
  12.         if guess == secret:
  13.             print("猜对了")
  14.         else:
  15.             if guess > secret:
  16.                 print("猜大了")
  17.             else:
  18.                 print("猜小了")
  19.     while guess != secret and times > 1:
  20.         print("再给你一次机会接着猜")
  21.         temp = input()
  22.         guess = int(temp)
  23.         times = times - 1
  24.         if guess == secret:
  25.             print("猜对了")
  26.         else:
  27.             if guess > secret:
  28.                 print("又猜大了")
  29.             else:
  30.                 print("又猜小了")
  31.     while guess != secret and times > 0:
  32.             print("最后一次机会了啊")
  33.             temp = input()
  34.             guess = int(temp)
  35.             times = times -1
  36.             if guess == secret:
  37.                 print("终于猜对了")
  38.             else:
  39.                 print("废物")
  40.     print("结束了")
  41. else:
  42.     print("1到10整数,你输的是个啥?")
  43.     temp2 = input()
  44.     if temp2.isnumeric():
  45.         while (guess != secret) and (times > 2):   
  46.             guess = int(temp2)
  47.             times = times - 1
  48.             if guess == secret:
  49.                 print("猜对了")
  50.             else:
  51.                 if guess > secret:
  52.                     print("猜大了")
  53.                 else:
  54.                     print("猜小了")
  55.         while guess != secret and times > 1:
  56.             print("再给你一次机会接着猜")
  57.             temp2 = input()
  58.             guess = int(temp2)
  59.             times = times - 1
  60.             if guess == secret:
  61.                  print("猜对了")
  62.             else:
  63.                  if guess > secret:
  64.                      print("又猜大了")
  65.                  else:
  66.                      print("又猜小了")
  67.             while guess != secret and times > 0:
  68.                  print("最后一次机会了啊")
  69.                  temp2 = input()
  70.                  guess = int(temp2)
  71.                  times = times -1
  72.                  if guess == secret:
  73.                      print("终于猜对了")
  74.                  else:
  75.                      print("废物")
  76.                      print("给你机会都不珍惜")
  77.             print("结束了")

复制代码
QQ图片20210628113037.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-6-28 14:43:18 | 显示全部楼层
本帖最后由 jackz007 于 2021-6-28 14:53 编辑

       你确信自己写的是 Python 代码,而不是自己所发明的另一种语言?
  1. #-*-coding:gbk-*-
  2. import random
  3. times = 3
  4. secret = random . randint(1 , 10)
  5. print("--------------------")
  6. print("猜 1 到 10 里面猜整数哦")
  7. while times:
  8.     while True:
  9.         print()
  10.         try:
  11.             guess = int(input("请输入一个数(1 - 10):"))  # 风险语句,如果从键盘输入的不是整数,这一句就会出错,直接跳去 except 语句块继续
  12.             if guess > 0 and guess < 11:                # 能正常执行到这里,说明从键盘输入的确实是一个整数            
  13.                 break                                   # 跳出本级 while 循环语句块
  14.             else:
  15.                 print("超出范围(1-10)!")
  16.         except:                                         # 输入不是整数会跳来这里继续
  17.             print("无效输入!")
  18.     if guess == secret:
  19.         if times > 2:
  20.             print("厉害,一次就猜对了!")
  21.         else:
  22.             print("终于猜对了!")  
  23.         break
  24.     else:
  25.         times -= 1
  26.         if times:
  27.             if guess > secret:
  28.                 print("猜大了")
  29.             else:
  30.                 print("猜小了")
  31.             print("再猜一次吧")
  32. else:
  33.     print("很抱歉,机会已经用完")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-28 14:47:02 | 显示全部楼层    本楼为最佳答案   
缩进问题

python对t缩进非常严格

  1. import random
  2. times = 3
  3. secret = random.randint(1,10)
  4. print("--------------------")
  5. print("猜1到10里面猜整数哦")
  6. guess = 0
  7. temp = input()
  8. if (temp is int):
  9.     while (guess != secret) and (times > 2):   
  10.         guess = int(temp)
  11.         times = times - 1
  12.         if guess == secret:
  13.             print("猜对了")
  14.         else:
  15.             if guess > secret:
  16.                 print("猜大了")
  17.             else:
  18.                 print("猜小了")
  19.     while guess != secret and times > 1:
  20.         print("再给你一次机会接着猜")
  21.         temp = input()
  22.         guess = int(temp)
  23.         times = times - 1
  24.         if guess == secret:
  25.             print("猜对了")
  26.         else:
  27.             if guess > secret:
  28.                 print("又猜大了")
  29.             else:
  30.                 print("又猜小了")
  31.     while guess != secret and times > 0:
  32.             print("最后一次机会了啊")
  33.             temp = input()
  34.             guess = int(temp)
  35.             times = times -1
  36.             if guess == secret:
  37.                 print("终于猜对了")
  38.             else:
  39.                 print("废物")
  40.     print("结束了")
  41. else:
  42.     print("1到10整数,你输的是个啥?")
  43.     temp2 = input()                     
  44.     if (temp2 is int):
  45.         while (guess != secret) and (times > 2):   
  46.             guess = int(temp2)
  47.             times = times - 1
  48.             if guess == secret:
  49.                 print("猜对了")
  50.             else:
  51.                  if guess > secret:
  52.                     print("猜大了")
  53.                  else:
  54.                     print("猜小了")
  55.         while guess != secret and times > 1:
  56.             print("再给你一次机会接着猜")
  57.             temp2 = input()
  58.             guess = int(temp2)
  59.             times = times - 1
  60.             if guess == secret:
  61.                  print("猜对了")
  62.             else:
  63.                  if guess > secret:
  64.                      print("又猜大了")
  65.                  else:
  66.                      print("又猜小了")
  67.             while guess != secret and times > 0:
  68.                  print("最后一次机会了啊")
  69.                  temp2 = input()
  70.                  guess = int(temp2)
  71.                  times = times -1
  72.                  if guess == secret:
  73.                      print("终于猜对了")
  74.                  else:
  75.                      print("废物")
  76.             print("结束了")
  77.         else:
  78.             print("给你机会都不珍惜")
复制代码


另外判断是否为整数用 temp.isnumeric()而非temp is int

修改代码为

  1. import random
  2. times = 3
  3. secret = random.randint(1,10)
  4. print("--------------------")
  5. print("猜1到10里面猜整数哦")
  6. guess = 0
  7. temp = input()
  8. if temp.isnumeric():
  9.     while (guess != secret) and (times > 2):   
  10.         guess = int(temp)
  11.         times = times - 1
  12.         if guess == secret:
  13.             print("猜对了")
  14.         else:
  15.             if guess > secret:
  16.                 print("猜大了")
  17.             else:
  18.                 print("猜小了")
  19.     while guess != secret and times > 1:
  20.         print("再给你一次机会接着猜")
  21.         temp = input()
  22.         guess = int(temp)
  23.         times = times - 1
  24.         if guess == secret:
  25.             print("猜对了")
  26.         else:
  27.             if guess > secret:
  28.                 print("又猜大了")
  29.             else:
  30.                 print("又猜小了")
  31.     while guess != secret and times > 0:
  32.             print("最后一次机会了啊")
  33.             temp = input()
  34.             guess = int(temp)
  35.             times = times -1
  36.             if guess == secret:
  37.                 print("终于猜对了")
  38.             else:
  39.                 print("废物")
  40.     print("结束了")
  41. else:
  42.     print("1到10整数,你输的是个啥?")
  43.     temp2 = input()
  44.     if temp2.isnumeric():
  45.         while (guess != secret) and (times > 2):   
  46.             guess = int(temp2)
  47.             times = times - 1
  48.             if guess == secret:
  49.                 print("猜对了")
  50.             else:
  51.                 if guess > secret:
  52.                     print("猜大了")
  53.                 else:
  54.                     print("猜小了")
  55.         while guess != secret and times > 1:
  56.             print("再给你一次机会接着猜")
  57.             temp2 = input()
  58.             guess = int(temp2)
  59.             times = times - 1
  60.             if guess == secret:
  61.                  print("猜对了")
  62.             else:
  63.                  if guess > secret:
  64.                      print("又猜大了")
  65.                  else:
  66.                      print("又猜小了")
  67.             while guess != secret and times > 0:
  68.                  print("最后一次机会了啊")
  69.                  temp2 = input()
  70.                  guess = int(temp2)
  71.                  times = times -1
  72.                  if guess == secret:
  73.                      print("终于猜对了")
  74.                  else:
  75.                      print("废物")
  76.                      print("给你机会都不珍惜")
  77.             print("结束了")

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

使用道具 举报

发表于 2021-6-28 15:22:49 | 显示全部楼层
能把程序学这么长太厉害了。晕倒
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-28 16:01:08 | 显示全部楼层
jackz007 发表于 2021-6-28 14:43
你确信自己写的是 Python 代码,而不是自己所发明的另一种语言?

谢谢大佬了,虽然有些东西看不太懂。。。我是按照小甲鱼的从零开始学python那个课写的代码,刚学到第四课。还没学到风险语句那里try该怎么用。。。所以我用了if temp is int  没想到没报错。然后后面我就接着这么写了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-28 16:01:44 | 显示全部楼层
逃兵 发表于 2021-6-28 14:47
缩进问题

python对t缩进非常严格

谢谢大佬了!那个if是我自作聪明瞎写的,发现没报错还以为能这么用、太谢谢了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-25 09:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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