python练习题2

python期考复习题

目录

1. 判断n**2的值每一位互不相同​编辑

2. 密码

3. 图书版号

4. 情感分类矩阵

5. 计算数对个数


1. 判断n**2的值每一位互不相同

def isdiff(n):s=str(n)for i in range(len(s)):for j in range(len(s)):if i!=j:if s[i]==s[j]:return Falsereturn Truelow=eval(input())
high=eval(input())for i in range(low,high+1):if isdiff(i*i):print(i,end=" ")print(i*i)

该题难点主要在于如何构建函数判断数字内部每一位互不相同,可以将数字转换为字符串,使用for循环的嵌套遍历该字符串(如上),也可以使用count函数(如下):

def isdiff(n):s=str(n)for c in s:if s.count(c)>1:return Falseelse:return Truelow=eval(input())
high=eval(input())for i in range(low,high+1):if isdiff(i*i):print(i,end=" ")print(i*i)

2. 密码

s='abcdefghijklmnopqrstuvwxyz'  # 定义一个包含所有小写字母的字符串
dic={}   # 定义一个空字典,用于存储每个字母的加密映射
for k in s:i=s.index(k)dic[k]=s[i:]+s[:i]     # 为每个字母生成加密映射,将字母表分为两部分,并按顺序拼接K=input().lower()   # 获取密钥,并将其转换为小写
len_k=len(K)    # 获取密钥的长度
C=input()    # 获取需要加密的文本
M=''    # 定义一个空字符串,用于存储解密后的文本for i in range(len(C)):  # 遍历需要加密的文本的每个字符k = K[i % len_k]   # 获取当前字符对应的密钥字母c = C[i]           # 获取需要加密的文本的当前字符idx = dic[k].index(c.lower())  # 计算当前字符在加密映射中的索引m = s[idx]         # 根据索引获取解密后的字符if c.isupper():    # 如果原始字符是大写m = m.upper()  # 将解密后的字符也转换为大写M += m             # 将解密后的字符添加到解密文本中print(M)    #输出结果

难点:题目很长,而且较难理解,我也不是很懂,备注里是GPT的解释

3. 图书版号

s=input()
key=int(s[-1])    #获取验证码
s=s[:-2]    #获取删除验证码后的字符串,不然会很难做替换那一步
s1=s.replace('-','')
ls=[int(s1[i])*(i+1) for i in range(len(s))]
sum1=sum(ls)
x=sum1%11        #x是计算出来的验证码
if x==10:x='X'        #记得加引号,不然会报错,别问我怎么知道的
if x==key:print('Right')
else:print('{}-{}'.format(s,x))

这题我认为难点主要是数据类型要保持一致,在计算途中要记得使用int(),str()等强制转换数据类型,不然很容易报错

4. 情感分类矩阵

ls2=eval(input())    
ls1=eval(input())    
'''注意先输入的是真实值,后输入的是预测值,但是在描述计算方法时,先讲的是预测值,
后讲的是真实值.这里为了方便边写程序,是按照计算方法的描述顺序写的下面的for循环,
所以先输入ls2后输入ls1
'''                     TP=FP=FN=TN=0        #使用连续初始化更加简洁for i in range(10):if ls1[i]==1 and ls2[i]==1:TP+=1elif ls1[i]==1 and ls2[i]==0:FP+=1elif ls1[i]==0 and ls2[i]==1:FN+=1elif ls1[i]==0 and ls2[i]==0:    #用else也一样,elif会更严谨,如果输入错了也会报错TN+=1#print(TP,FP,FN,TN)    在编写程序时可以让其输出看看值P=round(TP/(TP+FP),2)
R=round(TP/(TP+FN),2)
F1=round(2/(1/P+1/R),2)if F1>=0.9:J='强'
elif 0.9>F1>=0.8:J='较强'
elif 0.8>F1>=0.7:J='中等'
elif 0.7>F1>=0.6:J='一般'
elif F1<0.6:J='差'print(P,R,F1,J)

这题的难点我认为不在于编写,在于输入时是先真实后预测,但在如何计算的描述中是先预测后真实,输入语句容易写反,具体在注释中已经说明。

5. 计算数对个数

lst=eval(input())
C=eval(input())
cnt=0
for i in range(len(lst)):for j in range(len(lst)):if i!=j:            #注意判断不能是同一个位置的值if lst[i]-lst[j]==C:cnt+=1print(cnt)

本题较为简单,直接遍历列表然后输出即可,注意最后一行不用输出,如果需要输出:

lst=eval(input())
C=eval(input())
lst1=[]            #初始化一个列表用于存储结果
cnt=0
for i in range(len(lst)):for j in range(len(lst)):if i!=j:if lst[i]-lst[j]==C:lst1.append((i,j))cnt+=1print(cnt)
print("上例中包含{}个数对,分别为:"。format(cnt),end='')
for i in range(cnt):print(lst1[i],end='')    #引号内为空if i==cnt-1:breakprint("、",end='')    #引号内为空
'''如果直接输出整句话:
print("上例中包含{}个数对,分别为:"。format(cnt),end='')
for i in lst1:print(i,end="、")
句末会多出一个顿号'''

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/862298.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python输入与输出基础

Python输入与输出基础 引言 Python是一种非常直观且功能强大的编程语言&#xff0c;它允许用户轻松地处理输入和输出操作。无论是从用户那里获取数据&#xff0c;还是将结果展示给用户&#xff0c;Python都提供了简单易用的函数和方法。 一、输入数据 在Python中&#xff0c…

CS143 PA3 cool语法解析

代码 /* * cool.y * Parser definition for the COOL language. * */ %{#include <iostream>#include "cool-tree.h"#include "stringtab.h"#include "utilities.h"extern char *curr_filename;/* Locations */#define YYL…

Spring Boot框架的原理及应用详解(二)

本系列文章简介: 在当今的软件开发世界中,快速迭代、高效开发以及易于维护成为了开发者们不断追求的目标。Spring Boot作为Spring框架的一个子项目,自其诞生以来就凭借其“约定大于配置”的理念和自动配置的特性,迅速在Java开发社区中获得了广泛的关注和认可。它简化了Spri…

LSTM理解

目录 一、LSTM的本质 二、LSTM的原理 三、LSTM的应用 本文将从LSTM的本质、LSTM的原理、LSTM的应用三个方面&#xff0c;带您一文搞懂长短期记忆网络Long Short Term Memory | LSTM。 一、LSTM的本质 RNN 面临问题&#xff1a;RNN&#xff08;递归神经网络&#xff09;在处理…

数字时代的软件架构:持续架构的兴起与架构师角色的转变

在数字化浪潮的推动下&#xff0c;软件架构领域正经历着前所未有的变革。Eoin Woods在《数字时代的软件架构》演讲中&#xff0c;深入探讨了这一变革&#xff0c;并提出了“持续架构”这一概念。本文将基于Eoin的观点&#xff0c;结合个人理解&#xff0c;探讨持续架构的重要性…

微信小程序怎么使用地图?

微信小程序使用地图功能时&#xff0c;主要涉及地图组件的引入、配置以及相关的API调用。以下是详细的使用步骤和说明&#xff1a; 1. 引入地图组件 在微信小程序的.wxml文件中&#xff0c;通过<map>标签引入地图组件。你可以设置地图的经纬度、缩放级别、控件等属性。…

Kali系统的中英文切换

执行命令&#xff1a;sudo dpkg-reconfigure locales 命令作用&#xff1a;重新生成locales配置文件并允许你重新选择所需的语言环境。 中文&#xff1a;zh_CN.UTF-8 UTF-8 英文&#xff1a;en_US.UTF-8 UTF-8 用空格键选中和取消选项。 要设置成中文&#xff1a;取消选择en…

MySQL的`EXPLAIN`和Oracle的`EXPLAIN PLAN FOR`都是用于分析和理解SQL查询的执行计划的工具

MySQL的EXPLAIN和Oracle的EXPLAIN PLAN FOR都是用于分析和理解SQL查询的执行计划的工具。它们提供了查询的详细信息&#xff0c;包括表的访问顺序、索引的使用情况、预计的行数和成本等。以下是两者的一些关键点和区别&#xff1a; ### MySQL EXPLAIN&#xff1a; - EXPLAIN用…

ISA95-标准1-模型定义部分的解析

ISA-95定义了五个层次的自动化模型,在MES(制造执行系统)或MOM(制造运营管理)系统中,各个层次的功能模块通常与ISA-95模型的层次相对应。以下是自动化模型定义涉及到的功能模块描述: 1. 0级:物理过程控制 - 功能模块:传感器和执行器管理、基础自动化控制、设备状态监控…

C语言课程回顾:四、C语言最简单的C程序设计—顺序程序设计

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 最简单的C程序设计—顺序程序设计 4 最简单的C程序设计—顺序程序设计4.1 &#xff23;语句概述4.2 赋值语句4.4 字符数据的输入输出4.4.1 putchar 函数&#xff08;字符输出…

【Git】远程仓库

一、常用的托管服务[远程仓库] 二、注册码云 三、创建远程仓库 四、配置SSH公钥 五、操作远程仓库 5.1、添加远程仓库 5.2、查看远程仓库 5.3、推送到远程仓库 5.4、 本地分支与远程分支的关联关系 5.5、从远程仓库克隆 5.6、从远程仓库中抓取和拉取 5.7、解决合并冲突 一、常…

Ubuntu 22.04上编译安装c++ libconfig library

Libconfig是一个简单的c及c库&#xff0c;用于处理结构化的配置文件。libconfig的配置的文件格式非常简洁&#xff0c;可读性也非常的好&#xff0c;而且是type-aware&#xff0c;普通的配置文件读取后存取的类型为字符串&#xff0c;而Libconfig具有类型意识&#xff0c;因此不…

Labview_Occurrencel(事件发生)

PS&#xff1a;这里遇到 一个很Low的事情&#xff1a; 在停止第二个while循环的时候出现了停止不了的情况。因为等待事件发生设置的超时时间为:-1。所以等事件发生后出现了条件接线端已经执行的情况&#xff0c;所以当下次事件发生时未能及时停止。初版的停止设置如下图&#x…

MMM部署

一.MySQL&#xff0c;MySQL主主复制管理器&#xff09; 是一套支持双主故障切换和双主日常管理的脚本程序。MMM 使用 Perl 语言开发&#xff0c;主要用来监控和管理 MySQL Master-Master &#xff08;双主&#xff09;复制&#xff0c;虽然叫做双主复制&#xff0c;但是业务上同…

六西格玛项目实战:数据驱动,手机PCM率直线下降

在当前智能手机市场日益竞争激烈的背景下&#xff0c;消费者对手机质量的要求达到了前所未有的高度。PCM&#xff08;可能指生产过程中的某种不良率或缺陷率&#xff09;作为影响手机质量的关键因素&#xff0c;直接关联到消费者满意度和品牌形象。为了应对这一挑战&#xff0c…

应用场景:CPU通过网络将IP camera的RTSP流(H.264编码或是H.265编码)拉回, 交给GPU解码并显示 , 叙述下这个流程

这个流程涉及到从IP摄像头获取视频流&#xff08;通过RTSP协议&#xff09;&#xff0c;然后将流传输给GPU进行解码和显示的过程。详细的流程描述如下&#xff1a; 1. 获取视频流: - **IP摄像头**: 摄像头通过RTSP&#xff08;Real-Time Streaming Protocol&#xff09;将…

XGboost详解

文章最前&#xff1a; 我是Octopus&#xff0c;这个名字来源于我的中文名–章鱼&#xff1b;我热爱编程、热爱算法、热爱开源。所有源码在我的个人github &#xff1b;这博客是记录我学习的点点滴滴&#xff0c;如果您对 Python、Java、AI、算法有兴趣&#xff0c;可以关注我的…

热门开源项目推荐--机器学习TensorFlow

简介 TensorFlow 2.x是谷歌开发的一个开源机器学习库&#xff0c;它是TensorFlow的第二个主要版本&#xff0c;带来了许多新特性和改进&#xff0c;使得机器学习模型的开发和部署更加容易和高效。 特性 1. 易用性提升 TensorFlow 2.x在设计上更加注重用户体验&#xff0c;简…

设计模式原则——接口隔离原则

设计模式原则 设计模式示例代码库地址&#xff1a; https://gitee.com/Jasonpupil/designPatterns 接口隔离原则 要求程序员尽量将臃肿庞大的接口拆分为更小的和更具体的接口&#xff0c;让接口中只包含客户感兴趣的方法接口隔离原则的目标是降低类或模块之间的耦合度&…

智慧校园-缴费管理系统总体概述

在构建现代化教育环境的过程中&#xff0c;智慧校园缴费管理系统脱颖而出&#xff0c;成为提升校园财务管理效率与服务质量的关键一环。缴费管理系统需要精心设计&#xff0c;通过科技力量&#xff0c;让原本繁琐的缴费流程变得简单快捷&#xff0c;同时增强家校之间的互动与信…