鱼C论坛

 找回密码
 立即注册
查看: 1419|回复: 9

[已解决]不清楚自己的语法错误

[复制链接]
发表于 2017-8-14 17:08:04 | 显示全部楼层 |阅读模式

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

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

x
  1. import random
  2. guess= 0
  3. secret = random.randint(1,10)
  4. print('------------------我爱鱼C工作室------------------')
  5. def input1():
  6.     try:
  7.         temp = int(input("不妨猜一下小甲鱼现在心里想的是哪个数字:"))
  8.         global guess =temp
  9.     except ValueError:
  10.         print('一定要是数字哦')
  11.         input1()
  12.     except (EOFError,KeyboardInterrupt):
  13.         print('为什么不玩了?')
  14.         
  15. input1()

  16. while guess != secret:
  17.     if guess==0:
  18.         break
  19.     else:
  20.         temp = input("哎呀,猜错了,请重新输入吧:")
  21.         guess = int(temp)
  22.         if guess == secret:
  23.             print("我草,你是小甲鱼心里的蛔虫吗?!")
  24.             print("哼,猜中了也没有奖励!")
  25.         else:
  26.             if guess > secret:
  27.                 print("哥,大了大了~~~")
  28.             else:
  29.                 print("嘿,小了,小了~~~")
  30. print("游戏结束,不玩啦^_^")
复制代码

总是提醒语法错误
求指点
最佳答案
2017-8-14 17:18:02
  1. import random
  2. guess= 0
  3. secret = random.randint(1,10)
  4. print('------------------我爱鱼C工作室------------------')
  5. def input1():
  6.     try:
  7.         temp = int(input("不妨猜一下小甲鱼现在心里想的是哪个数字:"))
  8.         global guess
  9.         guess = temp
  10.     except ValueError:
  11.         print('一定要是数字哦')
  12.         input1()
  13.     except (EOFError,KeyboardInterrupt):
  14.         print('为什么不玩了?')
  15.         
  16. input1()

  17. while guess != secret:
  18.     if guess==0:
  19.         break
  20.     else:
  21.         temp = input("哎呀,猜错了,请重新输入吧:")
  22.         guess = int(temp)
  23.         if guess == secret:
  24.             print("我草,你是小甲鱼心里的蛔虫吗?!")
  25.             print("哼,猜中了也没有奖励!")
  26.         else:
  27.             if guess > secret:
  28.                 print("哥,大了大了~~~")
  29.             else:
  30.                 print("嘿,小了,小了~~~")
  31. print("游戏结束,不玩啦^_^")
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-8-14 17:15:10 | 显示全部楼层
第八行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-14 17:18:02 | 显示全部楼层    本楼为最佳答案   
  1. import random
  2. guess= 0
  3. secret = random.randint(1,10)
  4. print('------------------我爱鱼C工作室------------------')
  5. def input1():
  6.     try:
  7.         temp = int(input("不妨猜一下小甲鱼现在心里想的是哪个数字:"))
  8.         global guess
  9.         guess = temp
  10.     except ValueError:
  11.         print('一定要是数字哦')
  12.         input1()
  13.     except (EOFError,KeyboardInterrupt):
  14.         print('为什么不玩了?')
  15.         
  16. input1()

  17. while guess != secret:
  18.     if guess==0:
  19.         break
  20.     else:
  21.         temp = input("哎呀,猜错了,请重新输入吧:")
  22.         guess = int(temp)
  23.         if guess == secret:
  24.             print("我草,你是小甲鱼心里的蛔虫吗?!")
  25.             print("哼,猜中了也没有奖励!")
  26.         else:
  27.             if guess > secret:
  28.                 print("哥,大了大了~~~")
  29.             else:
  30.                 print("嘿,小了,小了~~~")
  31. print("游戏结束,不玩啦^_^")
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-14 17:20:28 | 显示全部楼层

global 变量的声明和使用不可以同时进行吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-14 17:21:50 | 显示全部楼层
shkhs 发表于 2017-8-14 17:20
global 变量的声明和使用不可以同时进行吗?

估计不行,不然怎么会报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-14 17:26:03 From FishC Mobile | 显示全部楼层
没有在函数内,为什么要声明全局变量呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-14 17:40:28 | 显示全部楼层
冬雪雪冬 发表于 2017-8-14 17:26
没有在函数内,为什么要声明全局变量呢?

不是有闭包吗?
没有声明的话,不会改变函数外的guess
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-14 20:10:56 From FishC Mobile | 显示全部楼层
闭包需要函数套函数,你的程序没有函数呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-15 09:56:56 | 显示全部楼层
本帖最后由 shkhs 于 2017-8-15 10:00 编辑
冬雪雪冬 发表于 2017-8-14 20:10
闭包需要函数套函数,你的程序没有函数呀

  1. import random
  2. guess= 0
  3. secret = random.randint(1,10)
  4. print('------------------我爱鱼C工作室------------------')
  5. def input1():
  6.     try:
  7.         temp = int(input("不妨猜一下小甲鱼现在心里想的是哪个数字:"))
  8.         global guess
  9.         #guess=temp
  10.     except ValueError:
  11.         print('一定要是数字哦')
  12.         input1()
  13.     except (EOFError,KeyboardInterrupt):
  14.         print('为什么不玩了?')
  15.         
  16. input1()

  17. while guess != secret:
  18.     if guess==0:
  19.         break
  20.     else:
  21.         temp = input("哎呀,猜错了,请重新输入吧:")
  22.         guess = int(temp)
  23.         if guess == secret:
  24.             print("我草,你是小甲鱼心里的蛔虫吗?!")
  25.             print("哼,猜中了也没有奖励!")
  26.         else:
  27.             if guess > secret:
  28.                 print("哥,大了大了~~~")
  29.             else:
  30.                 print("嘿,小了,小了~~~")
  31. print("游戏结束,不玩啦^_^")
复制代码


那为什么把global注释的话,输入数字就直接退出呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-15 10:06:02 | 显示全部楼层
shkhs 发表于 2017-8-15 09:56
那为什么把global注释的话,输入数字就直接退出呢?

抱歉,我看错了,guess是在函数中的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 15:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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