Python——练习2

Python

  • 练习一
  • 练习二
  • 练习三

练习一

在这里插入图片描述
(回文素数)回文素数是指一个数既是素数又是回文数。例如,131 既是素数也是回文数。数字313和717都是如此。编写程序显示前 100 个回文素数。每行显示10个数字,并且准确对齐如下所示。

     2      3      5      7     11    101    131    151    181    191
   313    353    373    383    727    757    787    797    919    929
 10301  10501  10601  11311  11411  12421  12721  12821  13331  13831
 13931  14341  14741  15451  15551  16061  16361  16561  16661  17471
 17971  18181  18481  19391  19891  19991  30103  30203  30403  30703
 30803  31013  31513  32323  32423  33533  34543  34843  35053  35153
 35353  35753  36263  36563  37273  37573  38083  38183  38783  39293
 70207  70507  70607  71317  71917  72227  72727  73037  73237  73637
 74047  74747  75557  76367  76667  77377  77477  77977  78487  78787
 78887  79397  79697  79997  90709  91019  93139  93239  93739  94049

实现代码:

# 判断是否为素数
def is_prime(n):
    if n <= 1:
        return False
    if n <= 3:
        return True
    if n % 2 == 0 or n % 3 == 0:
        return False
    i = 5
    while (i * i <= n):
        if (n % i == 0 or n % (i + 2) == 0):
            return False
        i += 6
    return True

# 判断是否为回文数
def is_palindrome(n):
    return str(n) == str(n)[::-1]


count = 0
num = 2
# 构建循环找出既是素数又是回文数的数字
while count < 100:
    if is_prime(num) and is_palindrome(num):
        if count % 10 == 0:
            print()
        print(f'{num:6}', end='')
        count += 1
    num += 1

首先我们定义一个函数来检查一个整数是否为素数,然后定义一个函数检查一个数字是否为回文。这之后的循环会找寻满足这两个条件的前一百个数字。每当找到一个符合条件的数字,就打印出来,然后计数加一,直到找到100个这样的数字。
结果显示:
在这里插入图片描述

练习二

在这里插入图片描述
(反素数)反素数(逆向拼写的素数)是指一个将其逆向拼写后也是一个素数的非回文数。例如:17和71都是素数,所以,17和71都是反素数。编写程序显示前 100 个反素数。每行显示 10个数字,并且准确对齐,如下所示

   13    17    31    37    71    73    79    97   107   113 
  149   157   167   179   199   311   337   347   359   389 
  701   709   733   739   743   751   761   769   907   937 
  941   953   967   971   983   991  1009  1021  1031  1033 
 1061  1069  1091  1097  1103  1109  1151  1153  1181  1193 
 1201  1213  1217  1223  1229  1231  1237  1249  1259  1279 
 1283  1301  1321  1381  1399  1409  1429  1439  1453  1471 
 1487  1499  1511  1523  1559  1583  1597  1601  1619  1657 
 1669  1723  1733  1741  1753  1789  1811  1831  1847  1867 
 1879  1901  1913  1933  1949  1979  3011  3019  3023  3049 

实现代码:

# 判断是否为素数
def is_prime(n):
    if n < 2:
        return False
    for i in range(2, int(n ** 0.5) + 1):
        if n % i == 0:
            return False
    return True

# 判断是否为反素数
def is_emirp(n):
    if n < 12:
        return False
    else:
        return str(n) != str(n)[::-1] and is_prime(int(str(n)[::-1]))


counter = 0
n = 2
# 初始化列表来存储既是素数又是反素数
emirp_list = []
# 将既是素数又是反素数的数字进行尾增存入列表中
while counter < 100:
    if is_prime(n) and is_emirp(n):
        emirp_list.append(n)
        counter += 1
    n += 1
# 输出既是素数又是反素数的数字
for i in range(0, len(emirp_list), 10):
    for j in emirp_list[i: i + 10]:
        print("{:5d}".format(j), end=" ")
    print()

输出结果:
在这里插入图片描述

练习三

在这里插入图片描述
(求一个整数各个数字的和)编写一个函数,计算一个整数各个数字的和。使用下面的函数头:
def sumDigits(n):
例如:sumDigits(234)返回9(2+3+4)。(提示:使用求余运算符%提取数字,而使用除号//去掉提取出来的数字。例如:使用234%10(=4)取4然后使用234//10(=23)从234中去掉 4。使用一个循环来反复提取和去掉每个数字,直到所有数字被提取完为止。)编写程序提示用户输人一个整数,然后显示这个整数所有数字的和。

实现代码:

# 创建名为sumDigits的函数
def sumDigits(n):
	# 创建列表存储整数各个位置上的数字
    digits = []
    while n > 0:
    	# 对整数进行取余存入数组
        digits.append(str(n % 10))
        # 对整数进行取整
        n = n // 10

	# 将列表数字连接起来放入字符串
    sum_expression = " + " .join(reversed(digits))
    # 转化为整数进行求和
    sum_value = sum(map(int, digits))
    return f"{sum_value} ({sum_expression})"


def main():
    number = int(input("请输入一个整数:"))
    # 调用函数sumDigits
    result = sumDigits(number)
    print(f"{result}")


main()

输出结果:
在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

DependencyProperty.Register:wpf 向别的xaml传递参数

一.使用背景&#xff1a;在A.xaml中嵌入B.xaml&#xff0c;并且向B.xaml传递参数。 函数介绍&#xff1a; public static DependencyProperty Register(string name, Type propertyType, Type ownerType );name&#xff08;string&#xff09;&#xff1a; 依赖属性的名称。在…

二、Gitee使用方法

目录 &#xff08;1&#xff09;首先可以注册一个 gitee 账号&#xff0c;注册很方便&#xff0c;自行注册 &#xff08;2&#xff09;登陆后进入你的主页 &#xff08;3&#xff09;创建仓库 &#xff08;3&#xff09;克隆 &#xff08;4&#xff09;代码提交 &#xf…

IOS+Appium+Python自动化全实战教程

由于公司的产品坐落于不同的平台&#xff0c;如ios、mac、Android、windows、web。因此每次有新需求的时候&#xff0c;开发结束后&#xff0c;留给测试的时间也不多。此外&#xff0c;一些新的功能实现&#xff0c;偶尔会影响其他的模块功能正常的使用。 网上的ios自动化方面的…

alova—轻量级请求策略库

文章目录 前言alova 是什么为什么创造 alova 一、选择 alova 的理由&#xff1f;二、使用步骤完整的特性列表alova 请求策略表 三、如何使用安装使用 useRequest 发送一个请求 总结alova和请求库的关系 前言 Alova官网 Alova—github官网 alova 是什么 alova 是一个轻量级的…

驶入产业发展快车道,汉鑫科技人工智能研发中心正式启用!

11月18日&#xff0c;汉鑫科技人工智能研发中心正式启用。中心立足烟台&#xff0c;服务全国&#xff0c;聚焦工业智能、智能网联、智慧城市三大业务板块&#xff0c;以人工智能技术赋能政企实现“数智化”转型升级。该中心的启用标志着汉鑫科技在人工智能研发应用领域迈上了新…

如何在windows使用别名远程执行命令

需求背景 在开发中,需要在服务器执行脚本,需要如下几步操作: 1.打开xshell 2.登录服务器 3.进入命令脚本的路径 4.执行脚本 但是,作为懒人来说,操作太繁琐了,真麻烦,能不能一键就解决那么多操作?所以,开始研究windows有没有这个东西,而且不需要额外的软件就可以实现的.结…

优化记录 -- 记一次搜索引擎(SOLR)优化

业务场景 某服务根据用户相关信息&#xff0c;使用搜索引擎进行数据检索 软件配置 solr 1台&#xff1a;32c 64g 数据10gb左右&#xff0c;版本 7.5.5 应用服务器1台&#xff1a;16c 64g 应用程序 3节点 问题产生现象 1、因业务系统因处理能不足&#xff0c;对业务系统硬件…

渲染器之挂载与更新

讲解渲染器的核心功能&#xff1a;挂载与更新。 1、挂载子节点和元素的属性 当 vnode.children 的值是字符串类型时&#xff0c;会把它设置为元素的文本内容。一个元素除了具有文本子节点外&#xff0c;还可以包含其他元素子节点&#xff0c;并且子节点可以是很多个。为了描述…

产品需求分析师的基本职责(合集)

产品需求分析师的基本职责1 职责 1、主要对用友司库云产品进行调研及产品规划; 2、根据司库云业务需求进行详细需求的用户故事、原型设计、需求分析、详细需求文档编写等; 3、进行产品的需求管理、需求验证、产品演示等需求工作; 4、配合开发、UE人员完成对产品的开发任务;…

YOLOv5 分类模型 OpenCV和PyTorch两者实现预处理的差异

YOLOv5 分类模型 OpenCV和PyTorch两者实现预处理的差异 flyfish PyTorch封装了PIL库 简单对比下两者的使用方法 import cv2 from PIL import Image import numpy as npfull_path_file_name"/media/a//ILSVRC2012_val_00001244.JPEG"#OpenCV读取图像默认是BGR顺序 …

代码混淆不再愁:一篇掌握核心技巧

​ 1. 概述 代码混淆是将计算机程序的代码转换成一种功能上等价&#xff0c;但是难以阅读和理解的形式。 对于软件开发者来说&#xff0c;代码混淆可以在一定程度上保护程序免被逆向。 对于逆向工程师来说&#xff0c;学习代码混淆可以帮助我们研究反混淆技术。 2. 常见混淆…

Java Stream中的API你都用过了吗?

公众号「架构成长指南」&#xff0c;专注于生产实践、云原生、分布式系统、大数据技术分享。 在本教程中&#xff0c;您将通过大量示例来学习 Java 8 Stream API。 Java 在 Java 8 中提供了一个新的附加包&#xff0c;称为 java.util.stream。该包由类、接口和枚举组成&#x…

netstat

netstat 命令用于显示网络状态 参数说明&#xff1a; -a或--all 显示所有连线中的Socket&#xff0c;默认不显示LISTEN相关 -n 拒绝显示别名&#xff0c;能显示数字的全部转化成数字 -e或--extend 显示网络扩展信息(User&#xff0c;Inode) -p或--programs 显示正在使用So…

【精选】构建智能木材计数系统:深度学习与OpenCV完美结合(详细教程+源码)

1.研究背景与意义 随着科技的不断发展&#xff0c;计算机视觉技术在各个领域中得到了广泛的应用。其中&#xff0c;卷积神经网络&#xff08;Convolutional Neural Network&#xff0c;CNN&#xff09;作为一种强大的深度学习模型&#xff0c;已经在图像识别、目标检测、人脸识…

Linux常用操作 Vim一般使用 SSH介绍 SSH密钥登录

目录 1. 常用命令 2. vim一般使用 3. SSH介绍 4. ssh密钥登录 1. 常用命令 1&#xff09;# 与 $ 提示的区别 # 表示用户有root权限&#xff0c;一般的以root用户登录提示符为#&#xff0c; $提示符表示用户为普通用户 2&#xff09;ifconfig 查看ip地址 eno1: 代表由主板…

【React-Router】导航传参

1. searchParams 传参 // /page/Login/index.js import { Link, useNavigate } from react-router-dom const Login () > {const navigate useNavigate()return <div>登录页<button onClick{() > navigate(/article?id91&namejk)}>searchParams 传参…

永恒之蓝漏洞复现

https://blog.csdn.net/qq_44159028/article/details/104044002 跟着这篇复现的 改造“永恒之蓝”制作了wannacry勒索病毒&#xff0c;使全世界大范围内遭受了该勒索病毒 影响版本 目前已知受影响的 Windows 版本包括但不限于&#xff1a;WindowsNT&#xff0c;Windows2000、W…

普乐蛙VR航天航空巡展项目来到了第七站——绵阳科博会

Hi~ 你有一份邀约请查收 11月22日—26日绵阳科博会 普乐蛙展位号&#xff1a;B馆科技体验区(1) 邀你体验趣味VR科普&#xff0c;探索科技新发展 第十一届中国(绵阳)科技城国际科技博览会 绵阳科博会自2013年创办以来&#xff0c;已连续成功举办十届&#xff0c;已有近7000家单位…

PostgreSQL导出表结构带注释

我们在平时开发过程中&#xff0c;经常会在字段的注释中&#xff0c;加上中文&#xff0c;解释字段的相关含义&#xff0c;也可以避免时间太久忘记这个字段代表什么&#xff0c;毕竟英文水平不好。我们可能要经常整理数据库表结构&#xff0c;提供他人去收集数据&#xff0c;但…
最新文章