Python常用练习小例子

news2025/1/12 6:21:00

Python常用练习小例子

1、输出九九乘法表

源码如下:

# 九九乘法表
for i in range(1, 10):
    for j in range(1, i+1):
        print('{}x{}={}\t'.format(i, j, i*j), end='')
    print() # 换行,相当于print(end='\n')

其中,rint('{}x{}={}\t'.format(i, j, i*j), end='')  可改为 print ("%dx%d=%d\t" % (i, j, i*j), end='')

运行效果:

关于Python的输入函数input()和输出函数print() 可参见https://blog.csdn.net/cnds123/article/details/118638607

 2、判断用户输入的年份是否为闰年

源码如下:

year = int(input("输入一个年份: "))
if (year % 4) == 0:
   if (year % 100) == 0:
       if (year % 400) == 0:
           print("{0} 是闰年".format(year))   # 整百年能被400整除的是闰年
       else:
           print("{0} 不是闰年".format(year))
   else:
       print("{0} 是闰年".format(year))       # 非整百年能被4整除的为闰年
else:
   print("{0} 不是闰年".format(year))
   

3、斐波那契数列

斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……。
在数学上,费波那契数列是以递归的方法来定义:
F0 = 0     (n=0)
F1 = 1    (n=1)
Fn = F[n-1]+ F[n-2](n=>2) 即从第三项开始,每一项都等于前两项之和。

法一、采用递归

# 获取用户输入数据
nterms = int(input("需要几项?"))

#递归
def fib(n):
    if n == 1:
        return [1]
    if n == 2:
        return [1, 1]
    fibs = [1, 1]
    for i in range(2, n):
        fibs.append(fibs[-1] + fibs[-2])
    return fibs

# 判断输入的值是否合法
if nterms <= 0:
   print("请输入一个正整数。")
else:
   print (fib(nterms)) 

法二、不用递归

# 获取用户输入数据
nterms = int(input("需要几项?"))

#不用递归
#求第n项(n>2)
def fn(n):
    a,b = 1,1
    for i in range(n-1):
        a,b = b,a+b
    return a

def fib(n):
    if n == 1:
        return [1]
    if n == 2:
        return [1, 1]
    fibs = [1, 1]
    for i in range(2, n):
        fibs.append(fn(nterms))
    return fibs

# 判断输入的值是否合法
if nterms <= 0:
   print("请输入一个正整数。")
else:
   print (fib(nterms)) 

4、将一个正整数分解质因数

对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:

(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。

(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

程序源代码如下:

# 获取用户输入数据
N = int(input("请输入一个正整数:"))

def reduceNum(n):
    print ('{} = '.format(n), end=" ")
    if not isinstance(n, int) or n <= 0 :
        print ('请输入一个正确的数字 !')
        exit(0)
    elif n in [1] :
        print ('{}'.format(n))
    while n not in [1] : # 循环保证递归
        for index in range(2, n + 1) :
            if n % index == 0:
                n //= index # n 等于 n//index
                if n == 1: 
                    print (index )
                else : # index 一定是素数
                    print ('{} *'.format(index), end=" ")
                break

reduceNum(N)         

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

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

相关文章

Kubespray v2.21.0 离线部署 Kubernetes v1.25.6 集群

文章目录 1. 前言2. 预备条件3. 配置代理4. 下载介质5. 初始化配置6. 安装部署工具6.1 配置 venv 部署环境6.2 配置容器部署环境 7. 配置互信8. 编写 inventory.ini9. 编写 offline.yml10. 部署 offline repo11. 部署 kubernetes 1. 前言 Kubespray 是 Kubernetes incubator 中…

【Python合集】程序员系列代码之“这么好的天气应该去放风筝,而不是在搬砖,好想去放风筝哦~”(附完整代码)

导语 ☽ ☽ ☽ ☽ ☽ ☽ 文案丨April 19th, 2023 ☆ ☽ ☽☽ ☽☽ ☽ 江滩边摇摇晃晃的风筝 是春日越冬归来的信号 风筝蹦蹦跳跳 看盎然春意四处热闹阿姨路过菜摊子 带把香椿回家炒蛋细子摘桑 被酸得直口水嗲嗲裹着棉袄 托起霸缸到处晒大阳妹子没管倒春寒 提前换上短…

HttpServletRequest

1、HttpServletRequest对象 在Servlet API中&#xff0c;定义了一个HttpServletRequest接口&#xff0c;它继承自ServletRequest接口&#xff0c;专门用于封装HTTP请求消息 1.1 获取请求行信息的相关方法 当访问Servlet时&#xff0c;请求消息的请求行中会包含请求方法、请求…

Spring入门案例--bean实例化

bean实例化 对象已经能交给Spring的IOC容器来创建了&#xff0c;但是容器是如何来创建对象的呢? 就需要研究下bean的实例化过程 &#xff0c;在这块内容中主要解决两部分内容&#xff0c;分别是 bean是如何创建的实例化bean的三种方式&#xff0c; 构造方法,静态工厂 和 …

USB TO SPI / USB TO I2C 软件概要 1 --- 专业版调试器

所需设备&#xff1a; 1、USB转SPI_I2C适配器(专业版); 软件概述&#xff1a; SPI类: USB TO SPI 1.0-Slave SPI从机软件&#xff0c;适合单步调试&#xff0c;支持SPI工作模式0、1、2、3&#xff0c;自动跟随主机通讯速率&#xff0c;自动接收数据&#xff1b; USB TO SP…

21、指标监控

文章目录 1、SpringBoot Actuator1、简介2、1.x与2.x的不同3、如何使用4、可视化 2、Actuator Endpoint1、最常使用的端点2、Health Endpoint3、Metrics Endpoint4、管理Endpoints1、开启与禁用Endpoints2、暴露Endpoints 3、定制 Endpoint1、定制 Health 信息2、定制info信息1…

springboot集成nacos配置管理

官方文档&#xff1a;Nacos Spring Boot 快速开始 个人实践&#xff1a; Namespace定义环境&#xff0c;例如&#xff1a;开发环境、测试环境、生产环境。 Group定义不同的应用。 DataId用来区分配置&#xff0c;例如&#xff1a;mysql配置&#xff0c;redis配置&#xff0…

web集群

1. 简述静态网页和动态网页的区别 1.更新和维护&#xff1a; 静态网页内容一经发布到网站服务器上&#xff0c;无论是否有用户访问&#xff0c;这些网页内容都是保存在网站服务器上的。如果要修改网页的内容&#xff0c;就必须修改其源代码&#xff0c;然后重新上传到服务器上…

新一代异步IO框架 io_uring | 得物技术

1.Linux IO 模型分类 相比于kernel bypass 模式需要结合具体的硬件支撑来讲&#xff0c;native IO是日常工作中接触到比较多的一种&#xff0c;其中同步IO在较长一段时间内被广泛使用&#xff0c;通常我们接触到的IO操作主要分为网络IO和存储IO。在大流量高并发的今天&#xff…

【golang学习笔记】——(三)golang vscode编译第一个程序

这里有一个盲区的坑&#xff0c;先埋下&#xff0c;待会再讲。 一、工程创建 首先是在一个自己需要的文件夹下创建一个.go空文件&#xff0c;老传统&#xff0c;这里就是hellowrold.go&#xff0c;致敬原神Brian Kernighan&#xff08;1978年出版的《The C Programming Langua…

数据库----------自增长约束、非空约束

目录 1.自增长约束(auto_increment) 1.概念 2.特点 3.指定自增字段初始值 4.delete和truncate在删除后自增列的变化 2.非空约束(not null) 1.概念 2.语法 3.添加非空约束 4.删除非空约束 1.自增长约束(auto_increment) 1.概念 在MysQL中&#xff0c;当主键定义为自增…

Can we learn better with hard samples

摘要 在深度学习中&#xff0c;小批量训练通常用于优化网络参数。然而&#xff0c;传统的小批处理方法可能无法学习到数据中代表性不足的样本和复杂的模式&#xff0c;从而导致泛化的时间更长。为了解决这一问题&#xff0c;提出了一种传统算法的一种变体&#xff0c;它训练网…

【基于 Arduino 的 RFID门锁】

【基于 Arduino 的 RFID门锁】 1. 概述2. 射频识别的工作原理3. RFID 和 Arduino4. Arduino RFID门锁门禁项目5. 源代码 在本教程中&#xff0c;我们将了解什么是 RFID&#xff0c;它是如何工作的以及如何制作基于 Arduino 的 RFID 门锁。您可以观看以下视频或阅读下面的书面教…

CTFWIKI-PWN-ret2syscall

该题目是在32位下 目录 先进行checksec ​编辑 ida 1.execve() 2.寄存器 3.流程图 4.我们需要先看看execve()函数的函数调用号 5.使用ROPgadget来查看 我们先进行查看eax|ret 查看 pop ebx,ecx,edx,ret 查找 /bin/sh的地址 查找int 0x80 查看字符偏移量 附上流程…

2023-04-13 工作记录--CSS/JS-ios 文本渐变色 和 文本超出省略号处理 共用时,出现省略号未显示问题

CSS/JS-ios 文本渐变色 和 文本超出省略号处理 共用时&#xff0c;出现省略号未显示问题 一、前言 ⭐️ 最近写项目&#xff0c;发现一个bug&#xff1a;ios 文本渐变色 和 文本超出省略号处理 共用时&#xff0c;出现省略号未显示问题&#xff0c;如下图&#xff1a;图1是非i…

三、vue_options之data、methods属性选项

一、data属性 data属性是传入一个函数&#xff0c;并且该函数需要返回一个对象&#xff1a; 在Vue2.x的时候&#xff0c;也可以传入一个对象(虽然官方推荐是一个函数)&#xff1b;在Vue3.x的时候&#xff0c;必须传入一个函数&#xff0c;否则就会直接在浏览器中报错&#xf…

【Java开发】设计模式 12:解释器模式

1 解释器模式介绍 解释器模式是一种行为型设计模式&#xff0c;它提供了一种方法来解释语言、表达式或符号。 在该模式中&#xff0c;定义了一个表达式接口&#xff0c;并实现了对应的表达式类&#xff0c;这些类可以解释不同的符号组成的表达式&#xff0c;从而实现对语言的…

云原生之在kubernetes环境下部署wordpress

云原生之在kubernetes环境下部署wordpress 一、wordpress介绍1.wordpress简介2.wordpress特点 二、kubernetes集群介绍1.k8s简介2.k8s架构图 三、本次实践介绍1.本次实践简介2.本次环境规划 四、环境准备工作1.检查k8s环境2.检查系统pod状态 五、创建mysql的secret资源1.创建部…

OpenCV_contrib配置教程(详细版)

文章目录 一&#xff1a;前提准备1&#xff1a;OpenCV4.5.1、OpenCV_contrib4.5.1扩展库下载2&#xff1a;Cmake下载地址Download 二&#xff1a;cmake配置1&#xff1a;2&#xff1a; 三&#xff1a;vs2017编译OpenCV build文件四&#xff1a;环境配置 个人笔记&#xff1a; …

如何构建编译gopacket包的测试用例?(gopacket抓取数据包、类似于tcpdump、Wireshark)

本篇文章介绍一下&#xff0c;如何构建gopacket测试用例 1、构建过程中遇到的问题 问题1&#xff1a; -bash: ./gopacket-main: /lib/ld-musl-x86_64.so.1: bad ELF interpreter: No such file or directory问题2&#xff1a; #14 3.150 # github.com/google/gopacket/pcap …