所以,我刚开始编码大约45分钟前,在尝试自己解决这个问题后,我决定寻求帮助。请随意留下一些关于天气的建设性批评我的代码是草率的,不稳定的等等。我比使用Python时更好的Lua。我在IDLE Python GUI中遇到的问题是,当我点击F5在Python Shell中运行它时,它给出了一个错误,说“预期缩进块”,但是没有告诉我在哪里放置缩进块(多个)。我想从一些简单的东西开始,所以我编写了一个工作的“年龄计算器”,这是代码:
# Importing necessary modules #
import time
import math
# Start Application #
print ("The age calculator!")
time.sleep(1)
print ("May I collect some information about you?")
yn = (input("Yes or No: "))
# if-elif Based Decisions #
if yn != Yes or No:
ynInvalid()
elif yn == No:
exit()
elif yn == Yes:
ynYes()
elif yn != Yes or No:
ynInvalid()
#Defining Functions#
def PrintInfo():
print ("Hello", name, "Nice to meet you!")
def AgeCheck():
if age <= 0:
print("Invalid Age!")
elif age > 0:
days = age * 365
minutes = age * 525948
seconds = age * 31556926
print("Doing some math please wait...")
time.sleep(4)
print(name,"you been alive for", days,"days", minutes, "minutes and", seconds, "seconds, Wow you're really old!")
def ynYes():
time.sleep(2)
print (" Please enter your name below.")
time.sleep(1)
name = input("Name: ")
time.sleep(1)
PrintInfo()
age = int(input("Age: "))
AgeCheck()
def ynYesRetry():
age = int(input("Age: "))
AgeCheck()
def ynInvalid():
print("Invalid Argument! Please try Again!")
ynYesRetry()
答案 0 :(得分:0)
IDLE永远不会在没有显示错误发生位置的情况下给您一个错误。如果您发布完整的追溯,人们可以弄清楚它的含义,向您解释,并希望下次自己解释如何自己做。
此外,复制和粘贴实际错误,而不是解释它,使人们更容易调试您的问题。
在这种情况下,从快速浏览中可以看出至少有一个缩进错误:
def AgeCheck():
if age <= 0:
print("Invalid Age!")
if
语句的主体必须比条件部分缩进。
更一般地说,以:
结尾的任何内容后面都会跟一个缩进的块。
您可能还有其他缩进错误;这个甚至可能不是IDLE告诉你的那个。但希望这是足够的信息来自己找到并修复它们。
答案 1 :(得分:0)
if age <= 0:
print("Invalid Age!")
elif age > 0:
days = age * 365
你没有正确缩进。
if age <= 0:
print("Invalid Age!")
elif age > 0:
days = age * 365
答案 2 :(得分:0)
AgeCheck应该是:
x.caption = Range("X").value And x.caption = "Kg"
你需要在所有if和elif语句之后缩进。这就是Python知道语句结果中包含的内容的方式。