python - 如何跳过输入并生成错误代码?
问题描述
一般来说,我对 python 和编码非常非常陌生。我仍在学习非常基础的知识,但我也在尝试在 python 中玩耍并尝试不同的东西。我尝试制作一个非常基本的计算器,它可以 +、-、*、/,将一个数字乘以另一个数字的幂,并取 1 个数字的平方根。唯一我不知道该怎么做的就是用 num2 跳过第三个输入,当我输入运算符“sqrt”时,我只取 num1 的 sqrt。另外我想告诉用户,如果他们输入的 num1 小于 0,那么他们会得到一个错误。
如果我需要学习更多来做这样的事情,我想知道吗?我还没有了解循环,所以我还是很新。希望我能得到一些帮助
#Making a basic calculator
from math import*
num1 = float(input("Enter first number: "))
op = input("Enter operator: ")
num2 = float(input("Enter second number: "))
if op == "+":
print(num1 + num2)
elif op == "-":
print(num1 - num2)
elif op == "/":
print(num1 / num2)
elif op == "*":
print(num1 * num2)
elif op == "^":
print(pow(num1,num2))
elif op == "sqrt":
print(sqrt(num1))
elif op == "sqrt" and num1 <= 0:
print("You cannot take the square root of numbers smaller than 0")
else:
print("Invalid operator")
解决方案
最简单的做法是检查是什么,只在需要op
时才询问:num2
op = input("Enter operator: ")
if op != "sqrt":
num2 = float(input("Enter second number: "))
推荐阅读
- graph - 如何在连通图中匹配 Gremlin 中未链接的顶点
- ios - 在 ios 上反应原生 57.7 黑屏
- python - 如何在 Kivy 的屏幕(类)之间传递变量?
- python - 在 Django 站点上运行外部 Python 脚本
- soap - NetSuite SOAP 更新到地址簿添加地址
- javascript - 是否可以在每次下载后增加的 PDF 上生成动态邮票序列号?
- c# - 源和目标相同时的 Dijkstra 算法示例
- python-3.x - venv中的pip install requirements.txt:如何忽略不同版本的系统站点包?
- python-3.x - 有没有办法以字符串中的任何顺序替换所有具有“a”、“b”和“c”的单元格的值?
- javascript - 使用“atob”命令时出错 - 无法在“窗口”上执行“atob”:要解码的字符串未正确编码