做课后题时出的错误:我期待的结果是程序正常运行,有三次机会猜数字

题目描述

做小甲鱼课后题时出的错误

题目来源及自己的思路

来源是小甲鱼的第五节课后题。
我的思路是先定义变量,然后给变量赋值,然后判断变量是否为整数。如果输入不正确,显示不合法,再次输入。当输入的字符全为数字时,继续往下运行。且一共只有三次机会。

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

print('我爱鱼C工作室........................')
import random
secret=random.randint(1,10)
temp=input('猜猜小甲鱼心里想的是数字几:')
count=3
while count:
    while not guess.isdigit():
        temp=input('这不合法,请输入一个合法整数:')
guess=int(temp)
    if guess==secret:
        print('猜对了,干的漂亮')
        break
    else:
        if guess>secret:
            print('大了大了',end='')
        else:
            print('小了小了',end='')
        count-=1
        print('你还有%d次机会,请输入:'%count,end=' ')
        guess=int(input())
    if count==1:
        break
if count==1:
    print('你的次数已经用完,不玩了。')
    print('小甲鱼心里想的是数字%d'%secret,end=' ')

你期待的结果是什么?实际看到的错误信息又是什么?

我期待的结果是程序正常运行,有三次机会猜数字。实际看到的是:

 File "C:\Users\Desktop\甲鱼文件\甲鱼3.py", line 10
    if guess==secret:
    ^
IndentationError: unexpected indent
阅读 3k
2 个回答

给你重新排版了下

#!/usr/bin/env python
# -*- coding: utf-8 -*-

print('我爱鱼C工作室........................')
import random
secret=random.randint(1,10)
temp=input('猜猜小甲鱼心里想的是数字几:')
count=3

while count:
    while not temp.isdigit():
        temp=input('这不合法,请输入一个合法整数:')
        guess = int(temp)
        if guess==secret:
            print('猜对了,干的漂亮')
            break
        elif guess>secret:
                print('大了大了',end='')
        else:
            print('小了小了',end='')
    count-=1
    print(count)
    print('你还有%d次机会,请输入:'%count,end=' ')
    guess=int(input())
    if count==1:
        print('你的次数已经用完,不玩了。')
        print('小甲鱼心里想的是数字%d'%secret,end=' ')
        break

执行结果是这样的

猜猜小甲鱼心里想的是数字几:7
2
你还有2次机会,请输入: 9
1
你还有1次机会,请输入: 2
你的次数已经用完,不玩了。
小甲鱼心里想的是数字3 

另外你可以熟悉下markdown,放代码避免格式混乱

Indentation是缩进的意思。IndentationError 所以可能是你的缩进有问题,tab和空格混用。

顺便说一下提问时候的代码粘贴也有问题,部分代码没有包括在代码显示block里

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题