文件-加减法 【问题描述】从文件jisuan.txt读入任意多行。jisuan.txt的每一行是一个 两个操作数参加的加法运算式或减法运算式。 程序分析每一行的运算式,完成运算,把运算结果写入jieguo.txt,一行一个结果。 【输入形式】文件jisuan.txt,每一行 是一个 由两个操作数参加的加法运算式或减法运算式。算式中不含空格,没有正负号。 【输出形式】文件jieguo.txt,一行一个结果。结果保留两位小数。 输入文件jisuan.txt内容样例: 121+20.5 15-2.3 6+0.8 输出文件jieguo.txt内容样例: 141.50 12.70 6.80 提示:字符串的格式化方法、\n r=5.1 s="{:.2f}\n".format(r)
时间: 2024-02-24 16:55:56 浏览: 126
以下是Python代码实现:
```python
with open("jisuan.txt", "r") as f1, open("jieguo.txt", "w") as f2:
for line in f1:
if '+' in line:
a, b = line.split('+')
result = float(a) + float(b)
f2.write("{:.2f}\n".format(result))
elif '-' in line:
a, b = line.split('-')
result = float(a) - float(b)
f2.write("{:.2f}\n".format(result))
```
这段代码首先打开`jisuan.txt`文件并逐行读取文件内容,然后对每一行的运算式进行判断,如果是加法则用`split()`方法获取两个操作数并进行加法运算,如果是减法则用`split()`方法获取两个操作数并进行减法运算。最后将运算结果写入`jieguo.txt`文件,保留两位小数。
相关问题
用python,从文件jisuan.txt读入任意多行。每一行写有一个两个操作数参加的加法运算式或减法运算式。程序分析每一行的运算式,完成运算,把运算结果写入jieguo.txt,一行一个结果。
可以按照以下步骤实现该功能:
1. 打开jisuan.txt和jieguo.txt文件,分别用于读入运算式和输出结果。
2. 使用循环逐行读取jisuan.txt文件中的运算式。
3. 对于每一行运算式,使用eval()函数进行求值,并将结果写入jieguo.txt文件。
4. 关闭jisuan.txt和jieguo.txt文件。
下面是基于以上思路的Python代码实现:
```python
with open("jisuan.txt", "r") as f_jisuan, open("jieguo.txt", "w") as f_jieguo:
for line in f_jisuan:
result = eval(line.strip()) # 使用eval函数求值
f_jieguo.write(str(result) + "\n") # 将结果写入jieguo.txt文件
```
需要注意的是,使用eval()函数时需要确保读入的运算式格式正确,否则可能会导致程序出错或安全问题。建议在读入运算式前进行一些简单的格式验证。
从文件jisuan.txt读入任意多行。每一行写有一个两个操作数参加的加法运算式或减法运算式。程序分析每一行的运算式,完成运算,把运算结果写入jieguo.txt,一行一个结果。 【输入形式】 文件內的每一行 是一个两个操作数参加的加法运算式或减法运算式。算式中不含空格 【输出形式】 文件,一行一个结果。结果保留两位小数。 【样例输入】 输入文件内容: 1+2 5-2.3 6+0.8 【样例输出】 输出文件内容: 3.00 2.70 6.80
好的,我已经理解了你的问题。这是一个文件读写和简单的数学运算的问题。以下是 Python 代码实现:
```python
# 打开输入文件
with open('jisuan.txt', 'r') as f:
# 逐行读入文件内容
lines = f.readlines()
# 遍历每一行
for line in lines:
# 去除行末换行符
line = line.strip()
# 按加号或减号拆分运算式
nums = line.split('+') if '+' in line else line.split('-')
# 将运算式中的字符串转换成浮点数
num1, num2 = float(nums[0]), float(nums[1])
# 判断运算符,做加法或减法
if '+' in line:
result = num1 + num2
else:
result = num1 - num2
# 将结果写入输出文件
with open('jieguo.txt', 'a') as f2:
f2.write('%.2f\n' % result)
```
你可以将上述代码保存到一个 Python 文件中,然后将输入文件 "jisuan.txt" 和输出文件 "jieguo.txt" 放在同一目录下,最后运行该 Python 文件即可。
阅读全文
相关推荐









