python - 当我运行这个脚本时,它会在 else 行告诉 IdentationError,为什么?
问题描述
#Returns the sum of num1 and num2
def add(num1, num2):
return num1 + num2
#Returns the result of subtracting num1 - num2
def sub(num1, num2):
return num1 - num2
#Returns the result of multiplying num1 * num2
def mul(num1, num2):
return num1 * num2
#Returns the result of dividing num1 / num2
def div(num1, num2):
return num1 / num2
def main():
operation = input("What do you want to do(+,-,*,/): ")
if(operation != '+' and operation != '-' and operation != '*' and operation != '/' ):
#invaid operation
print("you must enter a valid operation")
else:
var1 = int(input("emter num1: "))
var2 = int(input("Enter num2: "))
if(operation == '*'):
print(add(var1, var2))
elif(operation == '/'):
print(div(var1, var2))
elif(operation == '-'):
print(sub(var1, var2))
elif:
print(mul(var1, var2))
main()
解决方案
你的整体if
和elif
块是错误的。正确的意图如下所示:
else:
var1 = int(input("emter num1: "))
var2 = int(input("Enter num2: "))
if(operation == '*'):
print(add(var1, var2))
elif(operation == '/'):
print(div(var1, var2))
等等。在继续之前,您应该考虑阅读更多关于 python 中的缩进的信息。它不仅在 Python 中是必需的,而且也是每种语言的最佳实践(据我所知),以使您的代码更具可读性。
推荐阅读
- ios - 没有同时读取数据GCDAsyncSocket
- ios - 通过委托将数据传递给各种视图控制器
- php - PHP循环通过JSON文件非法字符串偏移错误
- vim - map - 选择当前行的键
- reactjs - 如何在 url 更改时重新渲染 react 组件?
- html - 元素周期表,元素在彼此之下
- android - 如何在线性布局中对齐跳过和下一个
- postgresql - 具有 PK 约束的列在 Postgres 中包含空值
- javascript - 加载模型 Three.js GLTFLoader 语法错误 JSON.parse
- java - Cassandra 启动问题:CassandraDaemon