python只用while语句做计算器
时间: 2024-10-19 18:03:14 浏览: 27
在Python中,你可以使用`while`循环结合基本的算术运算符来创建一个简单的命令行计算器。下面是一个基础的例子:
```python
def calculator():
while True:
try:
# 用户输入表达式,如"5 + 3"
expr = input("请输入一个数学表达式 (例如 '5 + 3') 或者输入 'exit' 退出:")
if expr.lower() == 'exit':
break
# 使用eval函数计算结果
result = eval(expr)
print(f"计算结果是: {result}")
except Exception as e:
print(f"错误: {str(e)},请检查您的输入并重试.")
calculator()
```
在这个程序中,用户可以不断输入数学表达式,直到他们输入"exit"来终止计算器。`eval()`函数会解析并计算字符串形式的表达式。请注意,虽然`eval()`在这里可以工作,但它存在安全隐患,因为它可以直接执行任意Python代码。在实际项目中,推荐使用更安全的方式来处理用户输入。
相关问题
用python做一个简易计算器小数点
好的,下面是一个简单的计算器程序,支持小数点输入:
```python
while True:
try:
num1 = float(input("请输入第一个数字:"))
num2 = float(input("请输入第二个数字:"))
operator = input("请输入运算符(+、-、*、/):")
if operator == '+':
result = num1 + num2
elif operator == '-':
result = num1 - num2
elif operator == '*':
result = num1 * num2
elif operator == '/':
result = num1 / num2
else:
print("输入的运算符不合法,请重新输入!")
continue
print("计算结果为:", result)
break
except ValueError:
print("输入的数字不合法,请重新输入!")
```
这个程序使用了一个 while 循环,不断地让用户输入数字和运算符,直到输入合法为止。其中,使用 float() 函数将用户输入的字符串转换成浮点数,支持小数点的输入。运算符的判断使用了 if、elif 和 else 语句,根据用户输入的不同,执行不同的计算操作。最后,使用 print() 函数输出计算结果。
用python语言开发一个计算器 包括:Python的基本数字运算(加、减、乘法、除法、平方、除法、sin、cos等),Python字符串相关操作、Python选择语句、循环语句、函数和其他相关设计。
好的,我可以帮你实现一个简单的计算器,包括以下功能:
1. 加法、减法、乘法、除法、平方
2. sin、cos函数
3. 字符串拼接、长度计算
4. 循环语句和选择语句
以下是代码实现:
```python
import math
# 定义加法函数
def add(x, y):
return x + y
# 定义减法函数
def subtract(x, y):
return x - y
# 定义乘法函数
def multiply(x, y):
return x * y
# 定义除法函数
def divide(x, y):
return x / y
# 定义平方函数
def square(x):
return x ** 2
# 定义sin函数
def sin(x):
return math.sin(x)
# 定义cos函数
def cos(x):
return math.cos(x)
# 定义字符串拼接函数
def concat(s1, s2):
return s1 + s2
# 定义字符串长度函数
def length(s):
return len(s)
# 主函数
def main():
print("选择运算:")
print("1、加法")
print("2、减法")
print("3、乘法")
print("4、除法")
print("5、平方")
print("6、sin函数")
print("7、cos函数")
print("8、字符串拼接")
print("9、字符串长度")
while True:
# 用户输入选项
choice = input("请输入您的选择(1/2/3/4/5/6/7/8/9):")
# 检查用户输入是否合法
if choice in ('1', '2', '3', '4', '5', '6', '7', '8', '9'):
# 用户选择加法
if choice == '1':
x = float(input("请输入第一个数字:"))
y = float(input("请输入第二个数字:"))
print(x, "+", y, "=", add(x, y))
# 用户选择减法
elif choice == '2':
x = float(input("请输入第一个数字:"))
y = float(input("请输入第二个数字:"))
print(x, "-", y, "=", subtract(x, y))
# 用户选择乘法
elif choice == '3':
x = float(input("请输入第一个数字:"))
y = float(input("请输入第二个数字:"))
print(x, "*", y, "=", multiply(x, y))
# 用户选择除法
elif choice == '4':
x = float(input("请输入第一个数字:"))
y = float(input("请输入第二个数字:"))
print(x, "/", y, "=", divide(x, y))
# 用户选择平方
elif choice == '5':
x = float(input("请输入一个数字:"))
print(x, "的平方为:", square(x))
# 用户选择sin函数
elif choice == '6':
x = float(input("请输入一个角度(单位:度):"))
radian = math.radians(x)
print("sin({}) = {}".format(x, sin(radian)))
# 用户选择cos函数
elif choice == '7':
x = float(input("请输入一个角度(单位:度):"))
radian = math.radians(x)
print("cos({}) = {}".format(x, cos(radian)))
# 用户选择字符串拼接
elif choice == '8':
s1 = input("请输入第一个字符串:")
s2 = input("请输入第二个字符串:")
print("拼接结果为:", concat(s1, s2))
# 用户选择字符串长度
elif choice == '9':
s = input("请输入一个字符串:")
print("字符串长度为:", length(s))
else:
print("输入有误,请重新输入!")
if __name__ == '__main__':
main()
```
使用该计算器时,用户可以根据提示选择不同的功能,输入相应的数字或字符串,程序会输出计算结果或字符串长度等信息。
阅读全文