计算机二级Python基本排序题-序号43(补充)

news2024/11/16 16:52:13

1. 在一组单词中,查找出所有长度最长的单词,如果给定的一组单词是:“cad” ,“VB”.“Python” ,“MATLAB” , “hel1o” , “world”

则输出结果为:the longest words are:
Python
MATLAB

def proc(strings):                     
    m = 0
    lst = []
    for i in range(len(strings)):   #查找最长的单词
        if len(strings[i]) > m:       
            m = len(strings[i])
    for i in range(len(strings)):
        if len(strings[i]) == m:       
            lst.append(strings[i])
    return lst       

strings = ['cad', 'VB', 'Python', 'MATLAB', 'hello', 'world']
result = proc(strings)
print("the longest words are:")
for item in result:
    print("{: >25}".format(item))

2. 程序接收用户输入的一个数字并判断是否为正整数,如果不是正整数,则显示“请输入正整数"并等待用户重新输入,直至输入正整数为止,并显示输出该正整数。

while True:
    try:
        a = eval(input('请输入一个正整数: '))    
        if a > 0 and type(a) == int:
            print(a)
            break
        else:
            print("请输入正整数")
    except:
        print("请输入正整数")

3. 将程序里定义好的std列表里的姓名和成绩与已经定义好的模板拼成一段话,显示在频幕上。

std = [['张三',90,87,95],['李四',83,80,87],['王五',73,57,55]]
modl = "亲爱的{}, 你的考试成绩是: 英语{}, 数学{}, Python语言{}, 总成绩{}.特此通知."

for st in std:
    cnt = 0
    for i in range(1,4):
        cnt += st[i]
    print(modl.format(st[0],st[1],st[2],st[3],cnt))

4. 获得用户输入的以逗号分隔的三个数字,记为a、b、c,以a为起始数值,b为前后相邻数的比值,c为数列长度,产生一个等比数列,将这个数列以逗号分隔的形式输出,最后一个元素输出后无逗号。

a, b, c = [eval(x) for x in input().split(',')]   #列表推导式:将a、b、c分别赋值
ls = []
for i in range(c) :
    ls.append(str(a * (b ** i)))
    print(",".join(ls))

等差数列通项公式: a n ​ = a 1 + ( n − 1 ) ⋅ d a_n​ =a_1+(n−1)⋅d an=a1+(n1)d
等比数列通项公式: a n = a 1 ⋅ r n − 1 a_n=a_1⋅r^{n−1} an=a1rn1

5. 以100为随机数种子,随机生成3个在1(含)到9(含)之间的随机整数,计算这三个随机整数的立方和。

import random
random.seed(100)  # 此处可多行
s = 0  # 
for i in range(3) :
    n = random.randint(1, 9)
    s += n ** 3 #此处可多行
    print(s)

6. 接收用户输入的以英文逗号分隔的一组数据,其中,每个数据都是整数或浮点数,打印输出这组数据中的最大值。

s = input("请输入一组数据: ")
ls = s.split(',')
lt = []
for i in ls:
    lt.append(eval(i))
print(max(lt))

7. 以26个小写字母和0~9数字为基础,以用户输入的数字为种子,随机生成10个8位密码,并将每个密码在单独一行打印输出。

import random

s = input("请输入随机种子: ")
ls = []
for i in range(26):
    ls.append(chr(ord('a')+i))
for i in range(10):
    ls.append(chr(ord('0')+i))
    
random.seed(eval(s))
for i in range(10):
    for j in range(8):
        print(ls[random.randint(0,35)],end='')
    print()

8. 利用random库和turtle库,在屏幕上绘制3个黑色的正方形,正方形的左下角点坐标和正方形边长由randint()函数产生,参数在代码中给出。

import turtle as t
import random as r
r.seed(1)   #以1为随机数种子
t.pensize(2)   #设置画笔宽度
for i in range(3):
    length = r.randint(20,80)
    x0 = r.randint(-100, 100)
    y0 = r.randint(-100, 100)

    t.penup()   #抬起画笔,移动时不绘制轨迹
    t.goto(x0,y0)   #将画笔移动到指定坐标(x0,y0)
    t.pd()   #pd()是pendown()的缩写
    for j in range(4):
        t.fd(length)
        t.seth(90 * (j + 1))
t.done()

9. 实现下面功能:让用户输入一个自然数n,如果n为奇数,输出表达式1+1/3+1/5+…+1/n的值;如果n为偶数,输出表达式1/2+1/4+1/6+…+1/n的值。输出结果保留2位小数。

def f(n):
    s = 0
    if n % 2 == 1:
        for i in range(1, n + 1, 2):
            s += 1/i
    else:
        for i in range(2, n + 1, 2):
            s += 1/i
    return s
n = int(input())
print('{:.2f}'.format(f(n)))

10. 获得用户输入的一个整数,记为n,以100为随机数种子,随机生成10个1到n之间的随机数,输出生成的随机数,数字之间以逗号分隔。

import random
n = eval(input('请输入一个整数:'))
random.seed(100)
for i in range(1,11):
    if i < 10:
        print(random.randint(1, n),end = ",")
    else:
        print(random.randint(1, n))

11. 若n整除n,则m是n的因子。例如:9的因子有1、3、9。定义一个因子函数,用于求整数n的所有因子列表。用户输入一个整数n,调用该因子函数,输出整数n所有因子的列表;如果输入非法字符,则检测异常,输出"输入有误!"。

def allFactor(n) :
    if n <= 1 :
        return[n]
    if n <= 3 :
        return[1, n]
i = 1
rlist = []
while i <= n :
    if n % i == 0 :
        rlist.append(i)
    i += 1
return rlist

try :
    n = eval(input("请输入一个正整数:"))
    print("整数{}的因子是:{}".format(n, allFactor(n)))
except :
    print("输入错误!")

12. 实现以下功能:data1.txt文件保存了一组汉字,输出该文件不同字符的数量。

f = open('data1.txt')
ls = []
for line in f:
    for c in line:
        if c not in ls:
            ls.append(c)
f.close()
print(len(ls))

13. 获得用户输入的三个整数,以逗号分隔,分别记为:n、m、k,其中n>k。以1为随机数种子,产生n个在k和m之间的随机整数(包括和m),将这些随机数输出,每个数一行。

import random as r
r.seed(1)
s = input("请输入三个整数 n,m,k:")
slist = s.split(",")
n, m, k = eval(slist[0]), eval(slist[1]), eval(slist[2])
for i in range(n) :
    print(r.randint(k, m))

总结

列表推导式

[表达式 for 变量 in 列表] 
[out_exp_res for out_exp in input_list]

或者 

[表达式 for 变量 in 列表 if 条件]
[out_exp_res for out_exp in input_list if condition]
a, b, c = [eval(x) for x in input().split(',')] #列表表达式
print('a:{0},b:{1},c:{2}'.format(a,b,c))
#输出结果:a:1,b:2,c:3

实例1:

>>> names = ['Bob','Tom','alice','Jerry','Wendy','Smith']
>>> new_names = [name.upper()for name in names if len(name)>3]
>>> print(new_names)
#['ALICE', 'JERRY', 'WENDY', 'SMITH']

实例2:

>>> multiples = [i for i in range(30) if i % 3 == 0]
>>> print(multiples)
#[0, 3, 6, 9, 12, 15, 18, 21, 24, 27]

字典推导式

{键表达式: 值表达式 for 迭代变量 in 可迭代对象}
{ key_expr: value_expr for value in collection }{键表达式: 值表达式 for 迭代变量 in 可迭代对象 if 条件}
{ key_expr: value_expr for value in collection if condition }

实例1:

listdemo = ['Google','Runoob', 'Taobao']
# 将列表中各字符串值为键,各字符串的长度为值,组成键值对
>>> newdict = {key:len(key) for key in listdemo}
>>> newdict
#{'Google': 6, 'Runoob': 6, 'Taobao': 6}

实例2:

>>> dic = {x: x**2 for x in (2, 4, 6)}
>>> dic
#{2: 4, 4: 16, 6: 36}
>>> type(dic)
#<class 'dict'>

集合推导式

{元素表达式 for 迭代变量 in 可迭代对象}
{ expression for item in Sequence }{元素表达式 for 迭代变量 in 可迭代对象 if 条件}
{ expression for item in Sequence if conditional }

实例1:

>>> setnew = {i**2 for i in (1,2,3)}
>>> setnew
#{1, 4, 9}

实例2:

>>> a = {x for x in 'abracadabra' if x not in 'abc'}
>>> a
#{'d', 'r'}
>>> type(a)
#<class 'set'>

元组推导式(生成器表达式)

(元素表达式 for 迭代变量 in 可迭代对象)
(expression for item in Sequence )(元素表达式 for 迭代变量 in 可迭代对象 if 条件)
(expression for item in Sequence if conditional )

实例:

>>> a = (x for x in range(1,10))
>>> a
#<generator object <genexpr> at 0x7faf6ee20a50>  # 返回的是生成器对象

>>> tuple(a)       # 使用 tuple() 函数,可以直接将生成器对象转换成元组
#(1, 2, 3, 4, 5, 6, 7, 8, 9)

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

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

相关文章

Leetcode1441.用栈操作构建数组

文章目录 题目原题链接思路代码 题目 给你一个数组 target 和一个整数 n。每次迭代&#xff0c;需要从 list { 1 , 2 , 3 …, n } 中依次读取一个数字。 请使用下述操作来构建目标数组 target &#xff1a; “Push”&#xff1a;从 list 中读取一个新元素&#xff0c; 并将其…

多视图多标签学习

一、多视图学习 多视图学习又称多视角学习&#xff0c;在实际应用问题中&#xff0c;对于同一事物可以从多种不同的途径或不同的角度进行描述&#xff0c;这些不同的描述构成了事物的多个视图。例如&#xff1a;在与人们生活息息相关的互联网中&#xff0c;网页数据既可以用网…

参与直播领取龙年大礼盒!23年Coremail社区年终福利大放送

2023年终福利大放送 Coremail 管理员社区是由 Coremail 邮件安全团队、服务团队及多条产品线共同维护&#xff0c;集 7*24h 在线自助查询、技术问答交流、大咖互动分享、资料下载等功能于一体&#xff0c;专属于 Coremail 邮件管理员、安全员成长互动的知识库社区。 转眼间&am…

RabbitMQ交换机(2)-Direct

1.Direct 直连(路由)交换机,生产者将消息发送到交换机&#xff0c;并指定消息的Routing Key&#xff08;路由键&#xff09;。交换机会将Routing Key与队列绑定进行匹配&#xff0c;如果匹配成功&#xff0c;则将该消息路由到对应的队列中。如果没有匹配成功&#xff0c;该消息…

统计学-R语言-4.6

文章目录 前言列联表条形图及其变种---单式条形图条形图及其变种---帕累托图条形图及其变种---复式条形图条形图及其变种---脊形图条形图及其变种---马赛克图饼图及其变种---饼图饼图及其变种---扇形图直方图茎叶图箱线图小提琴图气泡图总结 前言 本篇文章是对数据可视化的补充…

利用fd子系统实现图案与图片显示方法

//第一&#xff1a;利用fb子系统画圆的方法与实现 //1、头文件信息 #include <sys/ioctl.h> #include <linux/fb.h> #include <stdio.h> #include <sys/types.h> #include <stdio.h> #include <sys/mman.h> #include <sys/types.h>…

欧姆龙plc学习NJ系列CJ系列资料Sysmac Studio编程软件视频教程

Sysmac Studio是欧姆龙公司开发的一款集成开发环境&#xff08;IDE&#xff09;&#xff0c;用于编程和配置欧姆龙PLC&#xff08;可编程逻辑控制器&#xff09;和其他自动化设备。Sysmac Studio支持以下型号的欧姆龙PLC&#xff1a;1. NJ系列&#xff1a;NJ501、NJ301、NJ101、…

循环冗余校验(Cyclic Redundancy Check, CRC)计算

若信息码字为111000110&#xff0c;生成多项式G(x)x^5x^3x1&#xff0c;则计算出的CRC校验码为&#xff08; &#xff09;。 A.01101 B.11001 C.001101 D.011001 循环冗余校验(Cyclic Redundancy Check, CRC)是一种根据网络数据包或电脑文件等数据产生简短固定位数校验码的…

【数据库和表的管理】

数据库和表的管理 一、实验目的 了解MySQL数据库的逻辑结构和物理结构的特点。学会使用SQL语句创建、选择、删除数据库。学会使用SQL语句创建、修改、删除表。学会使用SQL语句对表进行插入、修改和删除数据操作。了解MySQL的常用数据类型。 二、实验内容SQL语句创建、选择、删…

多维时序 | Matlab实现GRO-CNN-LSTM-Attention淘金算法优化卷积神经网络-长短期记忆网络结合注意力机制多变量时间序列预测

多维时序 | Matlab实现GRO-CNN-LSTM-Attention淘金算法优化卷积神经网络-长短期记忆网络结合注意力机制多变量时间序列预测 目录 多维时序 | Matlab实现GRO-CNN-LSTM-Attention淘金算法优化卷积神经网络-长短期记忆网络结合注意力机制多变量时间序列预测效果一览基本介绍程序设…

vivado 使用Vitis HLS源、使用模型生成器源、使用系统生成器源

使用Vitis HLS源 AMD Vitis™ 高级综合&#xff08;HLS&#xff09;工具将C规范转换为寄存器传输级&#xff08;RTL&#xff09;实现&#xff0c;您可以将其合成到AMD设备中。你可以写CC、C或SystemC中的规范&#xff0c;AMD设备提供了大规模并行与传统处理器相比&#xff0c;…

Android的setContentView流程

一.Activity里面的mWindow是啥 在ActivityThread的performLaunchActivity方法里面&#xff1a; private Activity performLaunchActivity(ActivityClientRecord r, Intent customIntent) {ActivityInfo aInfo r.activityInfo;if (r.packageInfo null) {r.packageInfo getP…

11 # 类:抽象类与多态

抽象类 抽象类是不允许被实例化的&#xff0c;只能被继承 abstract class Animal {}let animal new Animal(); // 错误: 不能创建一个抽象类的实例 class Dog {constructor(name: string) {this.name name;}name: string;run() {} }let dog new Dog(Tom);抽象类的好处就…

【野火i.MX6NULL开发板】ARM-GCC 和开发板的 HelloWorld(ubuntu主机和野火开发板debian交叉编译)、开发板的/mnt里没文件

0、前言 参考资料&#xff1a; 《野火 Linux 基础与应用开发实战指南基于 i.MX6ULL 系列》PDF 第24章 参考视频&#xff1a; https://www.bilibili.com/video/BV1JK4y1t7io?p26&vd_sourcefb8dcae0aee3f1aab700c21099045395 注意&#xff0c;一定要记得把虚拟机的网络适配…

【扩散模型】10、ControlNet | 用图像控制图像的生成(ICCV2023)

论文&#xff1a;Adding Conditional Control to Text-to-Image Diffusion Models 代码&#xff1a;https://github.com/lllyasviel/ControlNet 出处&#xff1a;ICCV2023 Best Paper | 斯坦福 时间&#xff1a;2023.02 一、背景 文本到图像的生成尽管已经有很好的效果&…

拦截器的配置

1、什么是拦截器&#xff1f; Spring MVC中的拦截器&#xff08;Interceptor&#xff09;类似于Servlet中的过滤器&#xff08;Filter&#xff09;&#xff0c;它主要用于拦截用户请求并作相应的处理。例如通过拦截器可以进行权限验证、判断用户是否登录等。 拦截器依赖于web框…

Git仓库管理笔记

问题&#xff1a; hint: the same ref. If you want to integrate the remote changes, use Done 解决&#xff1a; 解决方法&#xff1a; 1、先使用pull命令&#xff1a; git pull --rebase origin master 2、再使用push命令&#xff1a; git push -u origin master

关于Python —— Python教程

开始 Python 是一个易于学习、使用和高效阅读的编程语言。它具有简洁的英文语法&#xff0c;编写更少的代码&#xff0c;让程序员专注于业务逻辑而不是语言本身。 本教程将从深度、专注细节上去理解 Python 这门语言。初学者可以参考此教程理解相应的内容&#xff0c;本教程将…

服务异步通讯——RabbitMQ

文章目录 RabbitMQ异步通讯技术对比 安装RabbitMQ下载镜像 安装MQRabbitMQ消息模型入门案例publisher实现consumer实现总结 SpringAMQPBasic Queue 简单队列模型消息发送消息接收 WorkQueue消息发送消息接收测试总结 发布/订阅Fanout声明队列和交换机消息发送消息接收 Direct基…

数据结构学习 jz66 构建乘积数组

关键词&#xff1a;数学 双指针 方法一&#xff1a;这个题目我一开始做不知道不能用除法。我做的&#xff1a;[ 用时: 12 m 12 s ] 用了除法 分类讨论 方法二&#xff1a;后来看了提示&#xff0c;双指针&#xff0c;两边各开始乘。 方法三&#xff1a;然后又看了答案可以节…