现有一文本文件/name.txt,每行保存一个名字 编写程序,打开并读取该文件,将所有名字以中文逗号分隔连接成一个字符串,并输出 重要提示:打开的文件必须关闭!!!
时间: 2024-02-05 12:04:55 浏览: 291
好的,我可以帮你写一个Python程序来实现这个功能。你可以把以下代码复制到一个Python文件中,命名为`name_join.py`,然后将`name.txt`文件放在同一目录下运行该程序:
```python
# 打开文件
with open('name.txt', 'r') as f:
# 读取所有名字,去除每行末尾的换行符
names = [name.strip() for name in f.readlines()]
# 以中文逗号分隔连接所有名字
names_str = ','.join(names)
# 输出连接后的名字字符串
print(names_str)
```
运行后,程序将会读取`name.txt`文件中的名字,并以中文逗号分隔连接成一个字符串,然后输出该字符串。同时,程序也会自动关闭打开的文件。
相关问题
1.(实践教程69-6)编写程序随机产生100个两位正整数,并将这100个数写入文本文件number.txt中,要求每行10个整数,整数之间用一个空格分隔。 2.(实践教程68-2)计算运动会某个参赛选手的得分。假设共有10个裁判,每个裁判给该选手打分(分数在0-10之间)后,去掉一个最高分和一个最低分之后的平均分即为该运动员的最后得分。某位选手的得分数据保存在文件中,文件的内容如下: 9.37 9.52 9.98 10 9.85 9.73 9.93 9.76 9.81 9.08 各数据之间使用一个空格分隔。请编写程序从文件中读取该选手的成绩并计算最后得分(保留2位小数)。 3.. (实践教程68-3)文件68-3.txt中每一行内容分别为购买的商品名称、价格、数量,求出所购商品花费的总费用。 apple 10 3 focus 100000 1 surface 8000 2 thinkpad 7000 3 chicken 10 3 7(实践教程69-4).新建一个文本文件69-4socre.csv,用来保存10名考生的3门课程的成绩,内容如下: 考号 程序设计 细胞生物 生理学 10153450101 72 96 88 10153450102 68 88 73 10153450103 63 63 66 10153450104 95 64 65 10153450105 89 88 57 10153450106 77 87 77 10153450107 67 64 97 10153450108 44 99 64 10153450109 82 73 75 10153450110 79 78 85 以上各分数项均使用英文逗号分隔。请编写程序读取该文件内容,统计每门课的平均分、最高分和最低分。用python编写程序
1. 随机产生100个两位正整数并写入文件number.txt:
```python
import random
# 生成100个两位正整数
nums = [random.randint(10, 99) for i in range(100)]
# 写入文件
with open('number.txt', 'w') as f:
for i in range(0, 100, 10):
line = ' '.join(map(str, nums[i:i+10])) + '\n'
f.write(line)
```
2. 读取文件中选手的成绩并计算最后得分:
```python
with open('score.txt', 'r') as f:
scores = f.readline().strip().split()
# 将字符串转换为浮点数
scores = list(map(float, scores))
# 去掉最高分和最低分
scores.remove(max(scores))
scores.remove(min(scores))
# 计算平均分并保留2位小数
final_score = round(sum(scores) / len(scores), 2)
print('选手最终得分为:', final_score)
```
3. 计算所购商品花费的总费用:
```python
total_cost = 0
with open('products.txt', 'r') as f:
for line in f:
name, price, count = line.strip().split()
total_cost += float(price) * int(count)
print('所购商品花费的总费用为:', total_cost)
```
4. 统计每门课的平均分、最高分和最低分:
```python
with open('score.csv', 'r') as f:
# 读取所有行
lines = f.readlines()
# 去掉第一行
lines = lines[1:]
# 将每行按逗号分隔,并将字符串转换为数值类型
data = [list(map(float, line.strip().split(','))) for line in lines]
# 计算每门课的平均分、最高分和最低分
for i in range(1, 4):
scores = [x[i] for x in data]
avg_score = sum(scores) / len(scores)
max_score = max(scores)
min_score = min(scores)
print('第{}门课: 平均分 {:.2f}, 最高分 {:.2f}, 最低分 {:.2f}'.format(i, avg_score, max_score, min_score))
```
编写一个Python程序,读取文本文件 students.txt,并打印出每个学生的姓名和年龄。扩展该程序,允许用户输入一个新的学生信息(姓名和年龄),并将其追加到 students.txt 文件中。
首先,你需要创建一个 Python 程序来读取 `students.txt` 文件并打印出学生的信息。如果文件不存在,可以添加异常处理。以下是基本的代码片段:
```python
def read_students():
try:
with open('students.txt', 'r') as file:
for line in file:
name, age = line.strip().split(',')
print(f"姓名: {name}, 年龄: {age}")
except FileNotFoundError:
print("文件 students.txt 未找到。")
def add_student(name, age):
with open('students.txt', 'a') as file:
file.write(f"{name},{age}\n")
# 读取现有学生信息
read_students()
# 让用户输入新学生信息并追加到文件
name = input("请输入新学生的姓名:")
age = int(input("请输入新学生的年龄:"))
add_student(name, age)
```
在这个程序中,我们首先定义了一个 `read_students` 函数,它会尝试打开文件并逐行读取。每行包含学生的姓名和年龄,我们使用逗号作为分割符。如果文件不存在,它会捕获 `FileNotFoundError` 异常。
接着,我们定义了 `add_student` 函数,用于追加新的学生信息到文件末尾。注意,年龄需要转换为整数格式。
运行程序后,先显示现有的学生信息,然后提示用户输入新的学生姓名和年龄,信息会被自动添加到 `students.txt` 文件中。
阅读全文