PTA9文件操作(python3)

2023-11-12


我找不着要补的题了……,如果有看到我的哪篇PTA有题目但是答案没有,请告诉我,谢谢哦。

9-1 从文件中查找最长的单词(20分,请勿修改) (20 分)

data.txt中保存有若干个单词,每个单词一行。请编写一个程序从文件中将所有单词读出,找到其中最长的单词,然后将其保存到result.txt中,程序须保存test.py中。注意:题目不要求去重,重复出现的单词算不同的单词。

输入格式:

请查看data.txt
输出格式: 用以下格式输出最长的字符串到result.txt中:

The longest word is: zhang
如果有多个单词,则每个单词用英文逗号间隔(结尾无逗号):

The longest words are: zhang,xiang
程序编写完毕后,请将下载的所有文件按原目录结构打包成zip文件上传

│─main.sh

└─src
data.txt
result.txt
test.py
‘’’
data.txt中保存有n个单词,每个单词一行。
请编写一个程序从文件中将单词读出,找到最长的单词,
然后将其保存到result.txt中。程序须保存test.py中

输出格式:

用以下格式输出最长的字符串到result.txt中:
The longest word is: zhang
如果有多个单词,则每个单词用英文逗号间隔(结尾无逗号):
The longest words are: zhang,xiang

x1 = []
x2 = []
with open('data.txt', 'r') as f:
    fi = f.readlines()
    for i in range(len(fi)):
        fi[i] = fi[i].strip()
        x1.append(len(fi[i]))
    m = max(x1)
    for i in range(len(fi)):
        if len(fi[i]) == m:
            x2.append(fi[i])

with open('result.txt', 'w') as g:
    if len(x2) == 1:
        g.write('The longest word is: {0}'.format(x2[0]))
    else:
        a = ','.join(x2)
        g.write('The longest words are: {0}'.format(a))
g.close()

9-2 求文件行数 (20 分)

下载题目附件,编辑src/目录下的test.py文件,实现读取统计data.txt文件的有效行数, 并将结果输出保存到result.txt文件。(20分) **

**说明: **

(1)有效行指至少包括一个字符行,空行不计为有效行

(2)程序文件名 test.py 不能修改

(3)本地编写测试完成后,将src文件夹打包为 src.zip文件后上传提交

data.txt的内容如下:

python程序设计

人生苦短,我学python
程序设计

抽象过程
自动化求解的计算思维
结合问题思考程序结构
输出结果如下:结果写入到result.txt中

有效行数为:6行

fi = open("data.txt","r",encoding = 'utf-8')
fo = open("result.txt","w",encoding = 'utf-8')

sss = fi.readlines()
ddd = [x.strip() for x in sss if len(x.strip()) > 0]

fo.write("有效行数为:{}行".format(len(ddd)))
fo.close()

9-3 analyze the character distribution of a document (20 分)

download the attachment, edit the test.py file in the src/ directory, read the contents of the sample.txt file, analyze the character distribution of the lowercase letters a-z, count the total number of characters in the file, and output the result in alphabetical order to result.txt file.

notice:
(1) Ignore upper and lower case, i.e. upper case A and lower case a are treated as the same letter.
(2) Only alphanumeric characters are counted, other characters including spaces are not considered.
(3) After finishing your code, compress the src folder into a src.zip file and upload it.

sample.txt

I have a Dream
I have a dream that one day this nation will rise up and live out the true meaning of its creed: "We hold these truths to be self evident that all men are created equal!".
I have a dream that one day on the red hills of Georgia, the sons of former slaves and the sons of former slave owners will be able to sit down together at the table of brotherhood.
I have a dream that one day even the state of Mississippi, a state sweltering with the heat of injustice, sweltering with the heat of oppression, will be transformed into an oasis of freedom and justices.
I have a dream today.

result.txt

There are a total of 467 characters, where each letter is distributed as follows:
a:46, b:6, c:4, d:21, e:69, f:14, g:6, h:29, i:32, j:2, l:20, m:12, n:25, o:36, p:5, q:1, r:27, s:32, t:49, u:7, v:10, w:10, y:4

fi = open("sample.txt","r")
fo = open("result.txt","w")
txt = fi.read()
num = 0
d = {}
for ele in txt:
    x = ele.split()
    for i in x:
        if i.isalpha():
            num += 1
            i = i.lower()
            d[i] = d.get(i, 0) + 1
values = d.values()
keys = d.keys()
d = sorted(d.items(), key=lambda x: x[0], reverse=False)
long = 'There are a total of {} characters, where each letter is distributed as follows:\n'.format(num)
fom = ''

keys = []
values = []
for i in d:
    keys.append(i[0])
    values.append(i[1])


new_d = dict(zip(keys,values))

x = len(new_d)
n = 0
for i in new_d.keys():
    n = n + 1
    if n != x:
        fom += i+":"+str(new_d[i]) + ", "
    else:
        fom += i+":"+str(new_d[i])

fo.write(long+fom)
     

在这里插入图片描述

文件src和main.sh打包成压缩包交上,我的代码是test.py

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PTA9文件操作(python3) 的相关文章

  • 无法在我的 Django 项目中使用 Sphinx 生成自动文档

    我正在向我的 Django 项目添加文档 github链接 https github com augustakingfoundation queryjane app 该项目是开源的 使用sphinx 但是当尝试生成python文件的auto
  • 如何更改默认的Python版本?

    我已经在我的 Mac 上安装了 Python 3 2 我跑完之后 Applications Python 3 2 Update Shell Profile command 当我输入时 这很令人困惑Python V在终端它说Python 2
  • 分配列表的多个值

    我很想知道是否有一种 Pythonic 方式将列表中的值分配给元素 为了更清楚 我要求这样的事情 myList 3 5 7 2 a b c d something myList So that a 3 b 5 c 7 d 2 我正在寻找比手
  • 为什么 pandas 在简单的数学运算上比 numpy 更快?

    最近 我观察到 pandas 的乘法速度更快 我在下面的例子中向您展示了这一点 如此简单的操作怎么可能做到这一点 这怎么可能呢 pandas 数据帧中的底层数据容器是 numpy 数组 测量 我使用形状为 10k 10k 的数组 数据框 i
  • 如何检索分配给 Django 中的组的所有权限

    我正在执行一项任务来检索分配给 Django 中的组的一组权限 我可以使用以下代码获取创建的组 但无法使用它来获取分配给它们的权限 from django contrib auth models import Group Permissio
  • 如何使用 python、openCV 计算图像中的行数

    我想数纸张 所以我正在考虑使用线条检测 我尝试过一些方法 例如Canny HoughLines and FLD 但我只得到处理过的照片 我不知道如何计算 有一些小线段就是我们想要的线 我用过len lines or len contours
  • 检查子字符串是否在字符串列表中?

    我之前已经找到了这个问题的一些答案 但它们对于当前的Python版本来说似乎已经过时了 或者至少它们对我不起作用 我想检查字符串列表中是否包含子字符串 我只需要布尔结果 我找到了这个解决方案 word to check or wordlis
  • 如何在动态执行的代码字符串中使用inspect.getsource?

    如果我在文件中有这段代码 import inspect def sample p1 print p1 return 1 print inspect getsource sample 当我运行脚本时 它按预期工作 在最后一行 源代码sampl
  • 如何在 numpy 数组中查找并保存重复的行?

    我有一个数组 例如 Array 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 1 1 1 2 2 2 我想要输出以下内容的东西 Repeated 1 1 1 2 2 2 保留重复行的数量也可以 例如 Repeated 1 1
  • 将多索引转换为行式多维 NumPy 数组。

    假设我有一个类似于以下示例的 MultiIndex DataFrame多索引文档 http pandas pydata org pandas docs stable advanced html gt gt gt df 0 1 2 3 fir
  • 从字典中绘制直方图

    我创建了一个dictionary计算 a 中出现的次数list每个键的内容 我现在想绘制其内容的直方图 这是我想要绘制的字典的内容 1 27 34 1 3 72 4 62 5 33 6 36 7 20 8 12 9 9 10 6 11 5
  • Bokeh 中单独的节点和边缘悬停工具?

    我正在尝试为 Bokeh 中的节点和边缘获取单独的悬停工具提示 但未能使其正常工作 有人可以指出我做错了什么吗 我相信代码应该如下所示 from bokeh io import show output notebook from bokeh
  • 如何让 Streamlit 每 5 秒重新加载一次?

    我必须每 5 秒重新加载 Streamlit 图表 以便在 XLSX 报告中可视化新数据 如何实现这一目标 import streamlit as st import pandas as pd import os mainDir os pa
  • 将 Python Selenium 输出写入 Excel

    我编写了一个脚本来从在线网站上抓取产品信息 目标是将这些信息写入 Excel 文件 由于我的Python知识有限 我只知道如何在Powershell中使用Out file导出 但结果是每个产品的信息都打印在不同的行上 我希望每种产品都有一条
  • 如何在 Python 中跟踪日志文件?

    我想在 Python 中提供 tail F 或类似内容的输出 而无需阻塞或锁定 我找到了一些非常旧的代码来做到这一点here http code activestate com recipes 436477 filetailpy 但我认为现
  • 更改用作函数全局作用域的字典

    我想做一个 purePython 的装饰器 其中一部分是能够有选择地禁止访问函数的全局范围 有没有一种方法可以以编程方式更改哪个字典事物充当函数的全局 外部作用域 因此 例如在下面我希望能够拦截对f in h并抛出错误 但我想允许访问g因为
  • 异步异常处理程序:在事件循环线程停止之前不会被调用

    我正在我的异步事件循环上设置异常处理程序 但是 在事件循环线程停止之前 它似乎不会被调用 例如 考虑以下代码 def exception handler loop context print Exception handler called
  • 重定向 python 交互式帮助()

    我正在为使用 Qt 的应用程序开发交互式 python shell 但是我似乎无法获得重定向的交互式帮助 我的 python 代码中有这个 class OutputCatcher def init self self data def wr
  • 如何使用logging.conf文件使用RotatingFileHandler将所有内容记录到文件中?

    我正在尝试使用RotatingHandler用于 Python 中的日志记录目的 我将备份文件保留为 500 个 这意味着我猜它将创建最多 500 个文件 并且我设置的大小是 2000 字节 不确定建议的大小限制是多少 如果我运行下面的代码
  • 在不同的 GPU 上同时训练多个 keras/tensorflow 模型

    我想在 Jupyter Notebook 中同时在多个 GPU 上训练多个模型 我正在使用 4GPU 的节点上工作 我想将一个 GPU 分配给一个模型并同时训练 4 个不同的模型 现在 我通过 例如 为一台笔记本选择 GPU import

随机推荐

  • MSYS2:设置国内源,加速下载

    https mirror tuna tsinghua edu cn help msys2 收录架构 MINGW i686 x86 64 MSYS i686 x86 64 安装 请访问该镜像目录下的 distrib 目录 x86 64 i68
  • YOLOV5改进:CVPR 2023

    显著的渠道或空间有效性注意力产生机制更加可辨特征表示用各种计算机进行了说明视觉任务 然而 跨通道建模关系与通道降维可能在提取深度视觉表征时带来副作用 本文提出了一种新的高效多尺度注意力 EMA 方法 模块提出 专注于保留信息每个通道上 并减
  • 10.6-7 Java.抽象类与其最佳实践-模板设计模式.课堂笔记

    10 6 抽象类 10 6 1 问题引入 10 6 2 解决之道 抽象类快速入门 要点 1 当一个类中存在抽象方法时 需要将该类声明为 abstract 类 2 一般来说 抽象类会被继承 有其子类来实现抽象方法 package Senior
  • gsoap报文打印

    作为客户端的时候 soap begin recv 发送完请求报文 获取请求报文信息 g str reqXml clear std string strBuf std string size type pos1 std string npos
  • Java基本语法(初学者必看,值得收藏)

    目录 一 计算机基础 1 计算机组成 2 程序 3 编程语言 二 Java 1 Java简介 2 发展历史 3 JDK的安装和配置 4 第一个Java程序 三 Java基础 1 输出 2 代码注释 3 变量 1 概念 2 变量三要素 3 数
  • 计算机基础——Word 2010

    天软备考交流群 365218976 1 Office应用程序的启动与退出 1 1 Office程序启动 1 2 Office程序退出 2 Word窗口组成 2 1 标题栏 2 1 1 快速访问工具栏 2 2 选项卡 2 3 文档编辑区 2
  • cudaStreamSynchronize vs CudaDeviceSynchronize vs cudaThreadSynchronize CUDA中的屏障同步

    cudaStreamSynchronize vs CudaDeviceSynchronize vs cudaThreadSynchronize These are all barriers Barriers prevent code exe
  • python中import与from方法总结

    这篇文章主要介绍了python中import与from方法总结 文中通过示例代码介绍的非常详细 对大家的学习或者工作具有一定的参考学习价值 需要的朋友们下面随着小编来一起学习学习吧 一 模块 包简介 模块 所谓模块就是一个 py文件 用来存
  • ufo帧率测试网站_移动全平台性能测试分析工具:PerfDog性能狗

    点击关注 我们共同每天进步一点点 PerfDog是腾讯出品的移动端性能测试工具 致力于提升移动应用和游戏的性能和品质 主打游戏APP 当然应用APP也能用 介绍 移动全平台iOS Android性能测试 分析工具平台 快速定位分析性能问题
  • Linux下安装单节点kafka

    Linux下单节点kafka的安装 官网下载地址 http kafka apache org downloads 1 查看Linux防火墙 firewall cmd state 2 解压kafka到想要安装的Linux目录下 tar zxv
  • Gogs push 报 HTTP 401 错误解决方法

    Gogs push 报 HTTP 401 错误解决方法 error RPC failed HTTP 401 curl 22 The requested URL returned error 401 错误原因 用户名和密码错误 导致验证不通过
  • 笔记 学习51单片机串口中断

    单片机的串口通信功能是比较常用的功能 80C51的串行口 我在学习的过程中 觉得SBUF的使用方法是最难的 于是对着这个图和资料一步步理解 才搞明白一点 A SBUF 和 SBUF A 的意思 51单片机通过特殊功能寄存器SBUF对串行接收
  • 【前端】Vue项目:旅游App-(8)city:标签页Tabs动态数据:网络请求axios与request、数据管理store与pinia、各种封装

    文章目录 目标 过程与代码 安装相关库 封装网络请求相关代码 网络请求数据 网络请求数据操作封装 pinia管理数据并封装 tab栏改为动态数据 效果 本篇总结 总代码 修改或新建的文件 service index modules的city
  • pytorch:计算网络模型在gpu上的推理时间

    计算网络模型的推理时间 网络模型的推理过程是在gpu上进行的 方法一 import torch import time net net to cuda 网络模型 input input to cuda 输入 time start time
  • 最详细小白入门Python7-bug和调试

    bug调试工具的使用 打断点 在行号后边点击出现小红点 右键debug进入调试模式 代码执行暂停到断点位置代码执行之前 debugger 查看参数及变量在执行过程中的变化情况 console 查看控制台输出内容 step over 单步执行
  • pytorch图像检索评价指标MAP

    map是图像检索模型的一个评价指标 以图片中第一个计算AP值为例 P的分别是 1 2 3 3 6 4 9 5 10 R值分别是 1 5 2 5 3 5 4 5 1 AP计算结果 1 2 3 3 6 4 9 5 10 5 https blog
  • c语言蝴蝶图案代码,通达信指标公式,临界点蝴蝶图案出现,暴涨趋势出现(附源码)...

    暴涨临界点指标 如上图所示 保障临界点指标专门用于监控起爆买点 当临界点出现后期一定会有上升 一战成名主图 指标源码 DRAWGBK 1 RGB 36 38 40 RGB 24 16 51 0 1 0 VAR1B 100 EMA EMA C
  • UE4中英文语言切换的三种方式(当然也可以多种语言)

    一 用ue4的Localization Dashboard 1 2 3 4 5 最后 必须独立运行游戏才能看到效果 二 使用WidgetSwitcher 1 2 3 4 用一个按钮点击进行Index的修改 就可以完成中英文切换 三 用两个T
  • 2-软件生命周期模型

    软件生命周期模型 软件工程过程 工程项目的PDCA循环 戴明环 美国质量管理专家戴明博士针对工程项目的质量目标 将全面质量管理思想引入工程项目过程 提出了PDCA循环 也称为戴明环 即Plan 规划 Do 执行 Check 检查 Actio
  • PTA9文件操作(python3)

    python程序设计09 文件操作 9 1 从文件中查找最长的单词 20分 请勿修改 20 分 9 2 求文件行数 20 分 9 3 analyze the character distribution of a document 20 分