Eurecka3 2022-07-10 10:49 采纳率: 33.3%
浏览 10
已结题

pythonfor循环的缩进错误

源程序:

#导入各项模块
import pygame
import sys
import easygui
import random
import pyautogui

#初始化各项模块
pygame.init()   

#定义函数
def tc1(x):
    tc = pyautogui.prompt(text=x,title="提示框-Small Game",default="")
    print(tc)
    while True:
        if tc == "确定" or tc == "是":
            pyautogui.alert(text='期待您的下次游玩', title='再见')
            sys.exit()
        elif tc == "不确定" or tc == "不退出":
            break
        elif tc == "":
            break
        else:
            pyautogui.alert(text="我不了解您的意思,请重新输入",title="提示框-Small Game")
            easygui.msgbox("我不了解您的意思,请重新输入")
            tc = pyautogui.prompt(text=x,title="提示框-Small Game",default="")
            print(tc)
def b(x,y):
    screen.blit(x,y)
    pygame.display.flip()

#导入各项素材
bz_1 = pygame.image.load("bz_1.png")     #5120*2880
bz_2 = pygame.image.load("bz_2.png")     #5120*2880
bz_3 = pygame.image.load("bz_3.png")     #5120*2880
bz_4 = pygame.image.load("bz_4.png")     #5120*2880
bz_5 = pygame.image.load("bz_5.png")     #5120*2880
bz_6 = pygame.image.load("bz_6.png")     #5120*2880
bz_7 = pygame.image.load("bz_7.png")     #5120*2880
bz_8 = pygame.image.load("bz_8.png")     #5120*2880
bz_9 = pygame.image.load("bz_9.png")     #5120*2880
bz_10 = pygame.image.load("bz_10.png")   #5120*2880
button = pygame.image.load("button.png") #170#70
button_csz = pygame.image.load("button_csz.png")  #267*111
x_1 = pygame.transform.scale(bz_1,(1800,980))

#用户GUI
while True:
    xz_1 = pyautogui.confirm(text='请选择',title='小游戏-Small Game',buttons=['游戏说明','开始游戏','关于我们','退出程序'])
    print(xz_1)
    if xz_1 == "开始游戏":
        screen = pygame.display.set_mode((1800,980))
        b(x_1,(0,0))
        b(button_csz,(100,100))
        pygame.display.set_caption("游戏选择")
        while True:
            pygame.init()
            for event in pygame.event.get(): 
                if event.type == pygame.QUIT:
                    pygame.quit()
                    sys.exit()
                elif event.type == pygame.MOUSEBUTTONDOWN:
                    x1 = event.pos[0]
                    y1 = event.pos[1]
                    if 100 <= x1 <= 367 and 100 <= y1 <= 211:
                        pygame.quit()
                        k = easygui.enterbox("是否开始游玩《猜数字》?")
                        print(k)
                        if k == "是" or k =="开始":
                            x = int(easygui.enterbox("请输入一个整数作为起始值"))
                            print(x)
                            y = int(easygui.enterbox("请输入一个整数作为结束值"))
                            print(y)
                            while True:
                                if x > y:
                                    easygui.msgbox("起始值不能大于结束值")
                                    x = int(easygui.enterbox("请输入一个整数作为起始值"))
                                    print(x)
                                    y = int(easygui.enterbox("请输入一个整数作为结束值"))
                                    print(y)
                                elif x == y:
                                    easygui.msgbox("起始值不能等于结束值")
                                    x = int(easygui.enterbox("请输入一个整数作为起始值"))
                                    print(x)
                                    y = int(easygui.enterbox("请输入一个整数作为结束值"))
                                    print(y)
                                elif x < 0:
                                    easygui.msgbox("起始值不能为负数")
                                    x = int(easygui.enterbox("请输入一个整数作为起始值"))
                                    print(x)
                                    y = int(easygui.enterbox("请输入一个整数作为结束值"))
                                    print(y)
                                elif y < 0:
                                    easygui.msgbox("结束值不能为负数")
                                    x = int(easygui.enterbox("请输入一个整数作为起始值"))
                                    print(x)
                                    y = int(easygui.enterbox("请输入一个整数作为结束值"))
                                    print(y)
                                else:
                                    break
                                break
                            else:
                                break
                        elif k == "否" or k == "不开始":
                            tc1("您确定要退出《猜数字》吗?")
                            break
                        elif k == None:
                            pass
                        else:
                            easygui.msgbox("我不了解您的意思,请重新输入")
                            k = easygui.enterbox("是否开始游玩《猜数字》?")
                            print(k)
                    else:
                        pass
                    pass
                elif event.type == pygame.KEYDOWN:
                    if event.key == K_ESCAPE:
                        sys.exit()
            break
        elif xz_1 == "游戏说明":
            ts_2 = pyautogui.alert(text="正在加班开发中......",title="警告",button="好的")
            print(ts_2)
        elif xz_1 == "关于我们":
            ts_3 = pyautogui.alert(text="正在加班开发中......",title="警告",button="好的")
            print(ts_3)
        elif xz_1 == "退出程序":
            tc1("您确定要退出程序吗?")
        elif xz_1 == None:
            sys.exit()
#猜数字程序
if k == "是" or k =="开始":
    xt = random.randint(x,y)
    x1 = str(x)
    y1 = str(y)
    hd = pyautogui.prompt(text="请输入"+x1+"-"+y1+"的整数",title="提示框-Small Game",default="请输入你的答案")
    if hd == "请输入你的答案":
         hd = pyautogui.prompt(text="请输入"+x1+"-"+y1+"的整数",title="提示框-Small Game",default="请输入你的答案")
    elif hd == xt:
        pyautogui.alert("恭喜,猜对了!", title="结果")
    elif hd > xt:
        pyautogui.alert("您的数字过大,请重新输入。", title="结果")
        hd = int(input("请输入"+x1+"-"+y1+"的整数"))
    elif hd < xt:
        pyautogui.alert("您的数字过小,请重新输入。", title="结果")
        hd = int(input("请输入"+x1+"-"+y1+"的整数"))
    elif hd < x:
        pyautogui.alert("请不要超出范围,请重新输入。", title="结果")
        hd = int(input("请输入"+x1+"-"+y1+"的整数"))
    elif hd > y:
        pyautogui.alert("请不要超出范围,请重新输入。", title="结果")
        hd = int(input("请输入"+x1+"-"+y1+"的整数"))
                
            
'''sjs = random.randint(x,y)
hd = int(input("请输入1-5的随机整数"))

while True:
    if hd == sjs:
        print("恭喜,答对了")
        hd2 = input("是否再玩一遍")
        if hd2 == "是":
            sjs = random.randint(x,y)
            hd = int(input("请输入1-5的随机整数"))
        elif hd2 == "否":
            break
    else:
        if hd > sjs:
            print("")
        print("你答错了")
        hd = int(input("请输入1-5的随机整数"))'''


问题相关代码

while True:
    xz_1 = pyautogui.confirm(text='请选择',title='小游戏-Small Game',buttons=['游戏说明','开始游戏','关于我们','退出程序'])
    print(xz_1)
    if xz_1 == "开始游戏":
        screen = pygame.display.set_mode((1800,980))
        b(x_1,(0,0))
        b(button_csz,(100,100))
        pygame.display.set_caption("游戏选择")
        while True:
            pygame.init()
            for event in pygame.event.get(): 
                if event.type == pygame.QUIT:
                    pygame.quit()
                    sys.exit()
                elif event.type == pygame.MOUSEBUTTONDOWN:
                    x1 = event.pos[0]
                    y1 = event.pos[1]
                    if 100 <= x1 <= 367 and 100 <= y1 <= 211:
                        pygame.quit()
                        k = easygui.enterbox("是否开始游玩《猜数字》?")
                        print(k)
                        if k == "是" or k =="开始":
                            x = int(easygui.enterbox("请输入一个整数作为起始值"))
                            print(x)
                            y = int(easygui.enterbox("请输入一个整数作为结束值"))
                            print(y)
                            while True:
                                if x > y:
                                    easygui.msgbox("起始值不能大于结束值")
                                    x = int(easygui.enterbox("请输入一个整数作为起始值"))
                                    print(x)
                                    y = int(easygui.enterbox("请输入一个整数作为结束值"))
                                    print(y)
                                elif x == y:
                                    easygui.msgbox("起始值不能等于结束值")
                                    x = int(easygui.enterbox("请输入一个整数作为起始值"))
                                    print(x)
                                    y = int(easygui.enterbox("请输入一个整数作为结束值"))
                                    print(y)
                                elif x < 0:
                                    easygui.msgbox("起始值不能为负数")
                                    x = int(easygui.enterbox("请输入一个整数作为起始值"))
                                    print(x)
                                    y = int(easygui.enterbox("请输入一个整数作为结束值"))
                                    print(y)
                                elif y < 0:
                                    easygui.msgbox("结束值不能为负数")
                                    x = int(easygui.enterbox("请输入一个整数作为起始值"))
                                    print(x)
                                    y = int(easygui.enterbox("请输入一个整数作为结束值"))
                                    print(y)
                                else:
                                    break
                                break
                            else:
                                break
                        elif k == "否" or k == "不开始":
                            tc1("您确定要退出《猜数字》吗?")
                            break
                        elif k == None:
                            pass
                        else:
                            easygui.msgbox("我不了解您的意思,请重新输入")
                            k = easygui.enterbox("是否开始游玩《猜数字》?")
                            print(k)
                    else:
                        pass
                    pass
                elif event.type == pygame.KEYDOWN:
                    if event.key == K_ESCAPE:
                        sys.exit()
            break
        elif xz_1 == "游戏说明":
            ts_2 = pyautogui.alert(text="正在加班开发中......",title="警告",button="好的")
            print(ts_2)
        elif xz_1 == "关于我们":
            ts_3 = pyautogui.alert(text="正在加班开发中......",title="警告",button="好的")
            print(ts_3)
        elif xz_1 == "退出程序":
            tc1("您确定要退出程序吗?")
        elif xz_1 == None:
            sys.exit()
运行结果及报错内容
Traceback (most recent call last):
  File "G:\树人\BL.py", line 120
    elif xz_1 == "游戏说明":
       ^
SyntaxError: invalid syntax

img


大概内容就是缩进错误

  • 写回答

1条回答 默认 最新

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 系统已结题 7月18日
      • 已采纳回答 7月10日
      • 创建了问题 7月10日

      悬赏问题

      • ¥15 list的ad方法出错求解答
      • ¥20 关于mmap将物理空间映射到用户空间再落盘时使用O_DIRECT方式会提示bad address的问题如何解决?
      • ¥15 无人机px4下载环境编译出错,如何解决?
      • ¥15 您好,请问您的那个pcap转成pcd文件的matlab代码我下载了运行没问题,也生成了点云图,但是无法存储pcd文件,请问怎么保存导出pcd文件呀
      • ¥260 已有标注好的图像数据集,如何构建深度卷积网络训练分类
      • ¥20 matlab图像错误
      • ¥30 如何写通过uni.uploadFile上传图片到ASP后端接收的代码
      • ¥15 selenium模糊定位
      • ¥15 硬件断点的问题,真的被整无语了
      • ¥30 想入门网络编程求建议