我想创建一个简单的程序来计算用户输入方法和半径的圆的面积。
我经常收到错误:IndentationError: expected an indented block
。
出了什么问题?
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")
答案 0 :(得分:1)
Python通过缩进单独表示块。你的“真实”和“其他”分支必须缩进。您无法缩进前导print
语句。这符合您的预期逻辑吗?
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行代码。
答案 1 :(得分:1)
Python使用缩进来定义代码块。
这很重要,因为没有它,解释器无法知道预期该代码块的一部分。
if x == 5:
print ('foo')
print ('bar')
(忽略缺少缩进导致错误)
如果x==5
会发生什么?
foo
bar
如果不是吗?什么呢?它打印什么?是否会打印bar
?
那么,缩进如何解决这种混乱?
这样做:
if x == 5:
print ('foo')
print ('bar')
将打印
FOO
酒吧
当x==5
时没有其他
if x == 5:
print ('foo')
print ('bar')
将打印
foo
bar
x==5
和
bar
,否则