鱼C论坛

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

[已解决]请指出我这个代码中得问题

[复制链接]
发表于 2016-11-30 10:22:24 | 显示全部楼层 |阅读模式
4鱼币
  1. import random
  2. answer = random.randint(0,10)
  3. chance = 5
  4. passwd = input('请输入密码:')
  5. if passwd == answer:
  6.     print('密码正确,进入程序.....')
  7. while passwd != answer and chance > 0:
  8.     if type(chance) != type(passwd):
  9.         print('类型输入错误!您还有',chance,'次机会。')
  10.     chance -= 1
  11.     elif passwd > answer:
  12.         print('大了,大了!您还有',chance,'次机会。')
  13.     elif passwd < answer:
  14.         print('小了,小了!您还有',chance,'次机会。')
  15.     '''elif type(passwd) != type(answer):
  16.         print('类型输入错误! 你还有',chance,'次机会。')'''
  17.     passwd = input('请重新输入:')
  18.         
复制代码



运行的时候提示第一个elif出错 没看懂也有可能是其他错误
最佳答案
2016-11-30 10:22:25
本帖最后由 不遥远的未来 于 2016-11-30 10:45 编辑

你问的报错,原因是第10行没有缩进。elif一定是跟在if语句后的,你不缩进他就跟在第10行后了,所以报错。
但是,你的代码除了这个问题之外,还有别的问题,我帮你修改了一下,仅供参考。
  1. import random
  2. answer = random.randint(0,10)
  3. chance = 5
  4. passwd = int(input('请输入密码:'))
  5. while True:
  6.     if passwd == answer:
  7.         print('密码正确,进入程序.....')
  8.         break
  9.     elif type(chance) != type(passwd):
  10.         chance -= 1
  11.         print('类型输入错误!您还有',chance,'次机会。')
  12.     elif passwd > answer:
  13.         chance -= 1
  14.         print('大了,大了!您还有',chance,'次机会。')
  15.     elif passwd < answer:
  16.         chance -= 1
  17.         print('小了,小了!您还有',chance,'次机会。')
  18.     if chance == 0:
  19.         print('机会用完啦T_T')
  20.         break
  21.     '''elif type(passwd) != type(answer):
  22.         print('类型输入错误! 你还有',chance,'次机会。')'''
  23.     passwd = int(input('请重新输入:'))
复制代码

最佳答案

查看完整内容

你问的报错,原因是第10行没有缩进。elif一定是跟在if语句后的,你不缩进他就跟在第10行后了,所以报错。 但是,你的代码除了这个问题之外,还有别的问题,我帮你修改了一下,仅供参考。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-11-30 10:22:25 | 显示全部楼层    本楼为最佳答案   
本帖最后由 不遥远的未来 于 2016-11-30 10:45 编辑

你问的报错,原因是第10行没有缩进。elif一定是跟在if语句后的,你不缩进他就跟在第10行后了,所以报错。
但是,你的代码除了这个问题之外,还有别的问题,我帮你修改了一下,仅供参考。
  1. import random
  2. answer = random.randint(0,10)
  3. chance = 5
  4. passwd = int(input('请输入密码:'))
  5. while True:
  6.     if passwd == answer:
  7.         print('密码正确,进入程序.....')
  8.         break
  9.     elif type(chance) != type(passwd):
  10.         chance -= 1
  11.         print('类型输入错误!您还有',chance,'次机会。')
  12.     elif passwd > answer:
  13.         chance -= 1
  14.         print('大了,大了!您还有',chance,'次机会。')
  15.     elif passwd < answer:
  16.         chance -= 1
  17.         print('小了,小了!您还有',chance,'次机会。')
  18.     if chance == 0:
  19.         print('机会用完啦T_T')
  20.         break
  21.     '''elif type(passwd) != type(answer):
  22.         print('类型输入错误! 你还有',chance,'次机会。')'''
  23.     passwd = int(input('请重新输入:'))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-11-30 10:51:03 | 显示全部楼层
同意楼上,10行没有缩进
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-11-30 10:59:03 | 显示全部楼层
1楼好厉害,修改后代码可读性高很多
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-11-30 15:01:42 | 显示全部楼层
1楼完善的很棒!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-11-30 19:46:56 | 显示全部楼层
你好~弹出的那个提示invalid syntax是说明你代码中有应该缩进的地方没有缩进。
第10行也是属于if里面的  所以也应该缩进。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-24 06:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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