加入input方法和斐波那契数列,从键盘接收1个,或者若干个字符串,将其改为整形数字,进行加减乘除乘方开方等运算,显示结果
时间: 2024-09-09 14:02:05 浏览: 58
在Python中,你可以通过`input()`函数从用户处获取输入,然后使用`int()`函数将字符串转换成整数来进行算术运算。下面是一个简单的示例,展示如何处理斐波那契数列相关的输入,并进行基本的数学运算:
```python
# 定义计算斐波那契数列的函数
def fibonacci(n):
fib_sequence = [0, 1]
while len(fib_sequence) < n + 1:
fib_sequence.append(fib_sequence[-1] + fib_sequence[-2])
return fib_sequence
# 获取用户输入的数值和操作符
num_strs = input("请输入1个或若干个整数,以及相应的操作(+、-、*、/、**、sqrt),例如: '5 + 3 - 4 * sqrt(6)' (用空格分隔): ")
# 将输入的字符串分割并转换为整数列表
numbers = [int(num_str) for num_str in num_strs.split()]
# 分离操作符
operators = num_strs.split(' ')[::2]
# 如果用户输入的是斐波那契数列请求,先计算
if '*' in operators or '**' in operators:
fib_num = int(input("你想计算第几个斐波那契数? "))
numbers.insert(0, fib_num)
# 进行运算
results = []
for i in range(0, len(numbers), 2):
if operators[i] == '+':
results.append(numbers[i] + numbers[i + 1])
elif operators[i] == '-':
results.append(numbers[i] - numbers[i + 1])
elif operators[i] == '*':
results.append(numbers[i] * numbers[i + 1])
elif operators[i] == '/':
try:
results.append(numbers[i] / numbers[i + 1])
except ZeroDivisionError:
print("除数不能为零")
elif operators[i] == '**':
results.append(numbers[i] ** numbers[i + 1])
elif operators[i] == 'sqrt':
try:
results.append(numbers[i]**0.5)
except ValueError:
print("开平方根前的数字必须是非负的")
# 输出结果
print("运算结果为:", results)
```
阅读全文