PTA(Basic Level) 1029_旧键盘 Python实现

2023-10-29

1029_旧键盘 Python实现

下面是题目信息

旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。

输入格式:
输入在 2 行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过 80 个字符的串,由字母 A-Z(包括大、小写)、数字 0-9、以及下划线 _(代表空格)组成。题目保证 2 个字符串均非空。

输出格式:
按照发现顺序,在一行中输出坏掉的键。其中英文字母只输出大写,每个坏键只输出一次。题目保证至少有 1 个坏键。

输入样例:
7_This_is_a_test
_hs_s_a_es
输出样例:
7TI

解题思路

由于该题给出的信息是让我们查找缺失的按键,那么我们只需要找出两个字符串当中,没有同时出现的字符即可:

  1. 因为题目限制了输出必须为大写,所以会用到upper()函数;
  2. 用字符串1的字符去遍历是否存在于字符串2;
  3. 由于字符串中存在多个重复字符,所以还需要一个计数器或者判断语句;

提交结果

在这里插入图片描述

下面是具体的代码

str1 = input()
str2 = input()
list1 = []
# print(str1, str2)
for i in str1:
    if i in str2:
        continue
    else:
        if i.upper() not in list1:
            list1.append(i.upper())
            print(i.upper(), end='')
# print(list1)

下面给出我所遇到的一些问题

1.upper()函数

这是一个较为低级的错误,警醒我自己。在最初我使用upper()函数时,我没有用str.upper()[这里的str表示字符串],而是用了upper(str),导致了我的程序出现了第一个语法错误。

2.如何去除重复字符

如果没有去重的话,那么最后的输出结果会出现两个I或者两个T的情况。我在代码中所给出的方法是,在对该字符进行操作之前,先判断是否已经有相同字符(在判断前统一为大写),这里我用了list列表来保存已经判断出的字符。如果该字符在列表中没有,则说明是第一次判断出来,进行输出并且保存至列表占位。

关于输出方法的问题

我的输出方法是即时输出,即在判断成功地时候就对当前字符进行一个输出,因为该输出在循环体之内,默认的结尾是换行符。所以为了避免一个字符一行的情况,这里指定end=‘’,结尾为空。

另外一种输出的方法则是通过打印列表来实现,但是如果直接打印的话,每个字符都会被引号包括,并通过逗号隔开。需要使用print(“”.join(list))方法,这里的list为你保存的数据

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

PTA(Basic Level) 1029_旧键盘 Python实现 的相关文章

  • Python 中的 Lanczos 插值与 2D 图像

    我尝试重新缩放 2D 图像 灰度 图像大小为 256x256 所需输出为 224x224 像素值范围从 0 到 1300 我尝试了两种使用 Lanczos 插值来重新调整它们的方法 首先使用PIL图像 import numpy as np
  • Python 的键盘中断不会中止 Rust 函数 (PyO3)

    我有一个使用 PyO3 用 Rust 编写的 Python 库 它涉及一些昂贵的计算 单个函数调用最多需要 10 分钟 从 Python 调用时如何中止执行 Ctrl C 好像只有执行结束后才会处理 所以本质上没什么用 最小可重现示例 Ca
  • SQLAlchemy 通过关联对象声明式多对多自连接

    我有一个用户表和一个朋友表 它将用户映射到其他用户 因为每个用户可以有很多朋友 这个关系显然是对称的 如果用户A是用户B的朋友 那么用户B也是用户A的朋友 我只存储这个关系一次 除了两个用户 ID 之外 Friends 表还有其他字段 因此
  • 将 Matplotlib 误差线放置在不位于条形中心的位置

    我正在 Matplotlib 中生成带有错误栏的堆积条形图 不幸的是 某些层相对较小且数据多样 因此多个层的错误条可能重叠 从而使它们难以或无法读取 Example 有没有办法设置每个误差条的位置 即沿 x 轴移动它 以便重叠的线显示在彼此
  • 如何在flask中使用g.user全局

    据我了解 Flask 中的 g 变量 它应该为我提供一个全局位置来存储数据 例如登录后保存当前用户 它是否正确 我希望我的导航在登录后在整个网站上显示我的用户名 我的观点包含 from Flask import g among other
  • 使用 matplotlib 绘制时间序列数据并仅在年初显示年份

    rcParams date autoformatter month b n Y 我正在使用 matpltolib 来绘制时间序列 如果我按上述方式设置 rcParams 则生成的图会在每个刻度处标记月份名称和年份 我怎样才能将其设置为仅在每
  • Flask 会话变量

    我正在用 Flask 编写一个小型网络应用程序 当两个用户 在同一网络下 尝试使用应用程序时 我遇到会话变量问题 这是代码 import os from flask import Flask request render template
  • 如何替换 pandas 数据框列中的重音符号

    我有一个数据框dataSwiss其中包含瑞士城市的信息 我想用普通字母替换带有重音符号的字母 这就是我正在做的 dataSwiss Municipality dataSwiss Municipality str encode utf 8 d
  • 根据列值突出显示数据框中的行?

    假设我有这样的数据框 col1 col2 col3 col4 0 A A 1 pass 2 1 A A 2 pass 4 2 A A 1 fail 4 3 A A 1 fail 5 4 A A 1 pass 3 5 A A 2 fail 2
  • 是否可以忽略一行的pyright检查?

    我需要忽略一行的pyright 检查 有什么特别的评论吗 def create slog group SLogGroup data Optional dict None SLog insert one SLog group group da
  • SQLALchemy .query:类“Car”的未解析属性引用“query”

    我有一个这里已经提到的问题https youtrack jetbrains com issue PY 44557 https youtrack jetbrains com issue PY 44557 但我还没有找到解决方案 我使用 Pyt
  • Spark KMeans 无法处理大数据吗?

    KMeans 有几个参数training http spark apache org docs latest api python pyspark mllib html highlight kmeans pyspark mllib clus
  • AWS EMR Spark Python 日志记录

    我正在 AWS EMR 上运行一个非常简单的 Spark 作业 但似乎无法从我的脚本中获取任何日志输出 我尝试过打印到 stderr from pyspark import SparkContext import sys if name m
  • 绘制方程

    我正在尝试创建一个函数 它将绘制我告诉它的任何公式 import numpy as np import matplotlib pyplot as plt def graph formula x range x np array x rang
  • 如何在Python中获取葡萄牙语字符?

    我正在研究葡萄牙语 角色看起来很奇怪 我怎样才能解决这个问题 代码 import feedparser import random Vou definir os feeds feeds conf feedurl http pplware s
  • python获取上传/下载速度

    我想在我的计算机上监控上传和下载速度 一个名为 conky 的程序已经在 conky conf 中执行了以下操作 Connection quality alignr wireless link qual perc wlan0 downspe
  • Pandas:merge_asof() 对多行求和/不重复

    我正在处理两个数据集 每个数据集具有不同的关联日期 我想合并它们 但因为日期不完全匹配 我相信merge asof 是最好的方法 然而 有两件事发生merge asof 不理想的 数字重复 数字丢失 以下代码是一个示例 df a pd Da
  • 使用 Python 绘制 2D 核密度估计

    I would like to plot a 2D kernel density estimation I find the seaborn package very useful here However after searching
  • 导入错误:没有名为 site 的模块 - mac

    我已经有这个问题几个月了 每次我想获取一个新的 python 包并使用它时 我都会在终端中收到此错误 ImportError No module named site 我不知道为什么会出现这个错误 实际上 我无法使用任何新软件包 因为每次我
  • NotImplementedError:无法将符号张量 (lstm_2/strided_slice:0) 转换为 numpy 数组。时间

    张量流版本 2 3 1 numpy 版本 1 20 在代码下面 define model model Sequential model add LSTM 50 activation relu input shape n steps n fe

随机推荐

  • ARouter(七) 依赖注入

    当你从FirstActivity跳到SecondActivity 有时需要把参数值放在intent里面传过去 ARouter的依赖注入会帮你在SecondActivity里面的属性直接赋好参数值 当然需要你事先在SecondActivity
  • 西瓜书-3.9,3.10理解过程-线性模型

    许多人对3 9公式不理解 其实 min右侧只是用矩阵的形式表示了均方差的概念 大家可以结合矩阵的乘法运算举个例子试试 argmin表示右侧式子最小时w取得的值 我们的目标就是求出这个向量w 需要注意的是 实际问题中 我们的样例数可能很少 而
  • GPU基础与CUDA编程入门

    文章目录 一 GPU和CPU的区别 GPU 高吞吐量导向设计 CPU 低延迟导向设计 GPU适合什么场景 什么是Prefetch 二 CUDA与OpenCL 三 CUDA编程并行计算整体流程 内存模型 线程块 网格Grid 并行线程块组合
  • 【Python解题1】PAT 乙级1055 集体照(详解)测试点345错误原因分析

    题目传送门 语言 python3 9 编译工具 pycharm 社区版 输入样例 10 3 Tom 188 Mike 170 Eva 168 Tim 160 Joe 190 Ann 168 Bob 175 Nick 186 Amy 160
  • 《C++ System Programming Cookbook》第二章读书笔记

    第二章 C 重要知识点回顾 C primitive types 原生数据类型 char int float double wchar t bool void nullptr t 可用numeraic limits检查范围 sizeof检查大
  • 【翻译】如何在你的IT转型中浪费数以亿计的资金

    你担任范德雷工业公司的首席执行官已经有几年时间了 这是一家在运输领域存在了几十年的巨无霸 真正的战略 你真的希望股价能尽快上涨 这样你就可以在命运之轮转动之前 在最佳的时间点卖掉你的股票 而董事会也不可避免地要把你赶走 你已经厌倦了蒲公英
  • 甘特图排程组件开发(TsyGantt)

    甘特图在Project2000中 很是好用 可是我想在项目开发中还要买了MS的Project2000的版权 所以索性自己开发一套相关的组件
  • 【JavaWeb_Part05】JDBC?弱爆了,看看轻量级的 Mybatis FreeStyle

    开篇 上篇文章我们已经讲了 Mybatis 的入门以及简单的对单表进行增删改查 那么今天我们就来讲一下使用 mybatis 开发dao的两种方式以及 mysql 比较厉害的动态 sql 利用 mybatis 开发 DAO 1 原始的方式开发
  • 多线程之间共享数据的方式探讨

    多线程之间共享数据的方式探讨 方式一 代码一致 如果每个线程执行的代码相同 可以用一个 Runnable 对象 这个 Runnable 对象中存放那个共享数据 卖票系统可以这样做 public class MultiThreadShareD
  • java系统运维:使用java自带的工具监控系统(java)虚机的运行

    公司采用的B S架构开发的系统林林总总 有时候系统不稳定 分析起来很头疼 除了看日志 还很希望能知道系统虚拟机的运行情况 java 虚拟机从1 5开始 有类似的工具 jconsole 1 6开始不但有jconsole 还有升级版 jvisu
  • 图神经网络(一)DGL框架搭建GCN图卷积神经网络模型

    一 DGL DGL是基于pytorch开发的一个专门用于图神经网络模型搭建的框架 到现在为止 DGL已经高度封装了如GCN GraphSage GAT等常见的图神经网络模型 可以直接调用 比较方便 当然针对非常想挑战自己的编程能力又或者非常
  • 电梯系统OO设计

    理论上应该先黑盒用例 分析需要求 系统边界的输入输出 再白盒类图 但是对于现实世界模拟的OO 个人感觉先emulate现实世界 初步识别类和类之间的关系 再用用例和顺序图丰富 修正类图 识别类 最主要的原则是封装 数据和数据的操作封装成一个
  • 【Linux】ibus输入法安装教程

    My name is Linus and I am your God Linus Torvalds 安装其他输入法总是会遇到各种问题 而当新的发行版出来时 原来的输入法总是就失效了或是其他问题不能使用 经过我的多次实测 发现ibus输入法非
  • uniapp小程序实现上传图片功能,并显示上传进度

    效果图 实现方法 一 通过uni chooseMedia OBJECT 方法 拍摄或从手机相册中选择图片或视频 官方文档链接 https uniapp dcloud net cn api media video html choosemed
  • 正则表达式获取两个字符之间的字符串信息

    今天工作有一个需求就是捕获两个字符之间的字符串信息 类似就是AcakeB这个字符串中提取cake 当时只想到如下的表达式 A B 复制代码 上述是将以A开头和以B结尾的字符串提取出来 但是本意是不想要有A和B了 通过查资料发现了如下写法 l
  • JSP四大作用域

    一 ServletContext 1 生命周期 当Web应用被加载进容器时创建代表整个web应用的ServletContext对象 当服务器关闭或Web应用被移除时 ServletContext对象跟着销毁 2 作用范围 整个Web应用 3
  • sql两张表统计求比分比。

    数据 表一 compay 表二person 第一步 第一张表统计结果 select sum money from person 第二张表统计结果 select sum money from compay 相除结果 select select
  • 读取word中表格的数据

    在pro文件中加入 QT axcontainer 按步骤 1 创建Word应用程序对象 2 获取文档集 3 打开文档 4 获取活动表格 5 读取表格中的信息 QAxObject myword new QAxObject Word Appli
  • 区块链-技术简介(*)

    1 什么是区块链 区块链技术是利用块链式数据结构来验证与存储数据 利用分布式节点共识算法来生成和更新数据 利用密码学的方式保证数据传输和访问的安全 利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式 简单
  • PTA(Basic Level) 1029_旧键盘 Python实现

    1029 旧键盘 Python实现 下面是题目信息 旧键盘上坏了几个键 于是在敲一段文字的时候 对应的字符就不会出现 现在给出应该输入的一段文字 以及实际被输入的文字 请你列出肯定坏掉的那些键 输入格式 输入在 2 行中分别给出应该输入的文