Python语法错误。初学者的琐事代码

Python语法错误。初学者的琐事代码,python,syntax-error,Python,Syntax Error,我想创建一个简单的程序,计算用户输入方法和半径的圆面积 我不断地得到错误:IndentationError:应该是一个缩进块。怎么了 print("1 Exact | 2 π(r*r)") choice=input() if int(choice)>2: print("Restart and hit 1 or 2") if choice=="1": pi=22/7 print("radius=...") radius=int(input) area=pi(radius**2) prin

我想创建一个简单的程序,计算用户输入方法和半径的圆面积

我不断地得到错误:IndentationError:应该是一个缩进块。怎么了

print("1 Exact | 2  π(r*r)")
choice=input()
if int(choice)>2:
print("Restart and hit 1 or 2")

if choice=="1":
pi=22/7
print("radius=...")
radius=int(input)
area=pi(radius**2)
print(area)

else: 

pi2='π'
print("radius=...")
radius2=int(input)
squareradius=int(radius2**2)
str(squareradius)
area2=pi2+squareradius
print("area2")

Python仅通过缩进指示块。您的true和else分支必须缩进。不能缩进前置打印语句。这符合你的预期逻辑吗

print("1 Exact | 2  π(r*r)")
choice=input()
if int(choice)>2:
    print("Restart and hit 1 or 2")

if choice=="1":

    pi=22/7
    print("radius=...")
    radius=int(input)
    area=pi(radius**2)
    print(area)

else: 

    pi2='π'
    print("radius=...")
    radius2=int(input)
    squareradius=int(radius2**2)
    str(squareradius)
    area2=pi2+squareradius
    print("area2")
您确实有其他问题,但这将使您更接近执行。首先,您永远不会在else分支中打印计算出的值——只是一个文本字符串


除其他事项外,我强烈建议您练习增量编程:一次只写一两行,在语法合法并做您想做的事情之前不要继续。使用print语句在运行时跟踪值,并在以后删除它们。当您还没有读入前4行中的值时,就不需要得到20行代码。

Python使用缩进定义代码块

这一点很重要,因为如果没有它,解释器将无法知道该代码块的预期内容

if x == 5:
print ('foo')
print ('bar')
忽略缺少缩进会导致错误 如果x==5,会发生什么

foo
bar
如果不是的话?然后呢?它打印什么吗?它有打印条吗

那么,缩进是如何解决这种困惑的呢

这样做:

if x == 5:
    print ('foo')
    print ('bar')
将打印 福 酒吧 当x==5时,除此之外无其他情况

if x == 5:
    print ('foo')
print ('bar')
将打印

foo
bar
当x==5且


否则

IndentationError:应为缩进块。您需要修复代码示例的缩进。如果你的程序就是这样的话,那就是解释了。谢谢你的anwser,但我不知道该怎么做。你能解释一下吗?除了错误的缩进,请注意‘π’不是一个可以在计算中使用的数值。为了做到这一点,或者简单地从3.14开始。您应该阅读并练习。您不应该使用无效的Python语法给出建议。@mkrieger1我忘记了我的:s。固定的
if x == 5:
    print ('foo')
print ('bar')