python算法题_python基本算法题(一)

1、3位水仙花数计算

"3位水仙花数”是指一个三位整数,其各位数字的3次方和等于该数本身。

例如:

ABC是一个“3位水仙花数”,则:A的3次方+B的3次方+C的3次方 = ABC。

使用Python,输出所有的3位水仙花数。

>>> for i in range(100,1000):if pow(i // 100 , 3) + pow(i % 10 , 3) + pow(i // 10 % 10, 3) ==i:print(i,end=" ")

>>> 153 370 371 407

Process finished with exit code 0

水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。与水仙花数类似

同样的,与水仙花数相似,回文数的判断方法也是采取相应的方式

2、回文数的判断

“回文”是指正读反读都能读通的句子。在数学中也有这样一类数字有这样的特征,称为回文数,例如121,25852等等

n=input("请输入一个数字:")if n == n[::-1]:print("你输入的数字是回文数")else:print("你输入的数字不是回文数")

这里是根据回文数的特性:回文数和本身颠倒的数相等,来进行判断的

3、使用Python判断是否为闰年

判断任意年份是否为闰年,需要满足以下条件中的任意一个:

① 该年份能被 4 整除同时不能被 100 整除;

② 该年份能被400整除。

由于满足闰年的条件互相有关联,所以可以使用条件语句来实现,判断输入的年份是否为闰年

defleap(a):if a % 4 ==0:if a % 400 ==0:returnTrueelif a % 100 ==0:returnFalseelse:returnTrueelse:returnFalse

n=int(input())if leap(n) ==True:print("{}年是闰年".format(n))else:print("{}年不是闰年".format(n))

4、快乐的数字

首先是一个快乐的数字的定义:

快乐的数字按照如下方式确定:从一个正整数开始,用其每位数的平方之和取代该数,并重复这个过程,直到最后数字要么收敛等于1且一直等于1,要么将无休止地循环下去且最终不会收敛等于1。能够最终收敛等于1的数就是快乐的数字。使用Python编写一个算法来确定一个数字是否“快乐”

例如数字 19 就是一个快乐的数字,计算过程如下:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

12 + 92 = 82

82 + 22 = 68

62 + 82 = 100

12 + 02 + 02 = 1 (最终收敛为1)

这里经过了分析,得出了,当循环到数字4时,那么这个数字一定不是快乐数,所以可以得出条件。设置一个循环,当循环到1(快乐数)或者4(不是快乐数)时,就终止循环,得出结果是否为快乐数

def getSumofSquares(num): #快乐数判断

numStr=str(num)

sum=0for i innumStr:

sum+= int(i)**2

returnsum

n=input()

sumofSqrs=eval(n)while sumofSqrs != 1 and sumofSqrs != 4:

sumofSqrs=getSumofSquares(sumofSqrs)else:if sumofSqrs == 1:print("True")else:print("False")

5、括号配对检测

用户输入一行字符串,其中可能包括小括号 (),请检查小括号是否配对正确(本题仅限于小括号)

defmatch_parentheses(s):#把一个list当做栈使用

ls =[]

parentheses= "()"

for i inrange(len(s)):

si=s[i]#如果不是括号则继续

if parentheses.find(si) == -1:continue

#左括号入栈

if si == '(':

ls.append(si)continue

if len(ls) ==0:returnFalse#出栈比较是否匹配

p =ls.pop()if p == '(' and si == ')':continue

else:returnFalseif len(ls) >0:returnFalsereturnTrue

n=input()

result=match_parentheses(n)if result==True:print("配对成功")else:print("配对不成功")

这里是使用list来代替栈的作用,来完成括号匹配的功能

括号匹配问题(所有的括号)算法:

首先设置两个列表分别存放的是各种括号的开括号和闭括号,然后遍历给定的字符串,分如下几种情况:

1.字符串 首字符 出现在闭括号列表中,直接结束,输出错误

2.字符串长度不为偶数,直接结束,输出错误

3.对原始字符串列表化去重,如果去重后的列表长度不为偶数直接结束,输出错误

4.遍历字符串,将属于开括号集合的括号加入到列表中,当遇上一个闭括号的时候计算该闭括号在闭括号列表中的索引与

当前列表最后一个开括号在开括号列表中的索引是否一致,一致则继续,否则直接结束,输出错误

defbracket_mathch(one_str):

tmp_list=[]

open_bracket_list= ['(', '[', '{', '<', '《']

close_bracket_list= [')', ']', '}', '>', '》']

one_str_list=list(one_str)

length=len(one_str_list)

set_list=list(set(one_str_list))

num_list= [one_str_list.count(one) for one inset_list]if one_str[0] inclose_bracket_list:returnFalseelif length % 2 !=0:returnFalseelif len(set_list) % 2 !=0:returnFalseelse:for i inrange(length):if one_str[i] inopen_bracket_list:

tmp_list.append(one_str[i])elif one_str[i] inclose_bracket_list:if close_bracket_list.index(one_str[i]) == open_bracket_list.index(tmp_list[-1]):

tmp_list.pop()else:returnFalsebreak

returnTrue

one_str_list= ['({}', '({[<>]})', '[(){}', '{{{{{', '([{})', '}{[)]']for one_str inone_str_list:ifbracket_mathch(one_str):print(one_str, '括号匹配正确')else:print(one_str, '括号匹配错误')

注:这里仅支持输入纯括号,并对其进行括号匹配判断,没有实现括号+字符串的括号匹配

6、天天向上的力量

一年365天,以第一天的能力为基数,记为1.0,当好好学习时能力值相比前一天提高1‰,当没有学习时能力值相比前一天下降1‰。

每天努力和每天放任,一年下来的能力值相差多少呢?

importmath

dayup= math.pow((1.0+0.001),365) #每天提高

daydown = math.pow((1.0-0.001),365) #每天下降

print("每天提高:{:.2f},每天懈怠:{:.2f}".format(dayup,daydown))

>>> 每天提高:1.44,每天懈怠:0.69

这是很基础的一个调用math库函数的题,然后使用格式化输出。

可以看出,经过1年的时间,每天提高一点点竟然达到了 1.69 !!这说明天天向上的力量不可小觑。所以从每天做起,每天改变一点点,日积月累,就会获得巨大的改变。

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

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

相关文章

虚拟机环境下安装ESX不能安装虚拟系统解决方案

在虚拟机环境&#xff08;ESX、workstation等&#xff09;下安装ESX或workstation等虚拟机&#xff0c;在虚拟机上再安装操作系统&#xff0c;会提示“虚拟系统不能启动&#xff0c;直到你配置了外部虚拟机&#xff08;vmware esx in a virtual machine requires the outer vir…

superviseddescent (SDM C++11实现)环境配置

今天试着用了一下SDM的C11实现&#xff0c;本来以为挺简单的&#xff0c;可是配置环境还是花了一些时间。为了给自己留下一些记忆&#xff0c;特把配置过程记录下来。 这个实现是C11的版本&#xff0c;是一个通用版本&#xff0c;里面包含了很多的功能&#xff0c;比如函数的最…

1008: University

台州ACM&#xff1a;1008: University Description 在大学里&#xff0c;非常多单词都是一词多义。偶尔在文章里还要用引申义。这困扰Redraiment非常长的时间。 他開始搜集那些单词的全部意义。他发现了一些规律&#xff0c;比如 “a”能用“e”来取代, “c”能用“f”来取代……

Android 5.1 API 22 所有sdk文件下载地址

开源中国的 IT 公司开源软件整理计划介绍 https://dl-ssl.google.com/android/repository/docs-22_r01.ziphttp://dl.google.com/android/repository/android-22_r01.ziphttps://dl-ssl.google.com/android/repository/samples-22_r05.ziphttps://dl-ssl.google.com/android/re…

python图形小游戏代码_手把手制作Python小游戏:俄罗斯方块(一)

手把手制作Python小游戏&#xff1a;俄罗斯方块1大家好&#xff0c;新手第一次写文章&#xff0c;请多多指教 A.准备工作&#xff1a; 这里我们运用的是Pygame库&#xff0c;因为Python没有内置&#xff0c;所以需要下载 如果没有pygame&#xff0c;可以到官网下载 pygame官网&…

关于Git使用的一些心得

2019独角兽企业重金招聘Python工程师标准>>> 本篇稍微记录下Git使用的一些心得。 对Git的使用&#xff0c;应该是从搭建自己的博客开始的。当时看到开源中国推荐的一篇基于码云hexo搭建自己博客的文章。所以就花了一天时间鼓捣了下博客。 顺带整理下目前能看到我写的…

Dlib机器学习库安装

昨天使用了一下dlib的人脸检测功能&#xff0c;效果出奇的好。下面给出dlib整个的安装过程和使用指导。 下载安装 我们可以从dlib的官网下载最新的版本&#xff0c;我的是dlib18.18.然后我们需要使用cmake编译dlib库和examples示例。 当然前提是你要按照好cmake和opencv。 …

struts2上传

今天在使用struts2上传的过程中无意发现,struts2上传一个文件大小为0字节的文本竟然会报错FileNotFoundException,尝试了好久也没找到答案,最后只能判断文件的大小后上传,至于文件字节为0的怎么处理就看各位了 struts2上传java源码 1 package com.jzgx.web.action;2 3 import j…

BitSet之为什么用long保存信息

BitSet内部使用long[] words来保存位信息。咋看之下并不理解原因&#xff0c;在解读set(int bitIndex)之后似乎有了一些领悟。 public void set(int bitIndex) { if (bitIndex < 0) throw new IndexOutOfBoundsException("bitIndex < 0: " bitIndex); //用来计…

ipv4地址是几位二进制数_几张思维导图,让你清楚的知道ip地址怎么回事?

网络工程中&#xff0c;ip地址是必须要了解的内容&#xff0c;今天我们用几张思维导图来给大家详细讲解IP地址。一、什么是IP地址在生活中我们使用具有上网功能的电子设备都有IP地址&#xff0c;就跟每个人都有自己的名字一样。IP地址分为IPV4 IPV6&#xff0c;我们所说的的IP地…

《关系营销2.0——社交网络时代的营销之道》一检查拼写和语法

本节书摘来异步社区《关系营销2.0——社交网络时代的营销之道》一书中的第2章&#xff0c;作者&#xff1a; 【美】Mari Smith 译者&#xff1a; 张猛 , 于宏 , 赵俐 责编&#xff1a; 陈冀康, 更多章节内容可以访问云栖社区“异步社区”公众号查看。 检查拼写和语法 关系营销2…

dlib人脸检测功能介绍

本文主要介绍三个点&#xff1a; 1. 如何单独建立一个工程&#xff0c;使用dlib的人脸检测功能。 2. 提高人脸检测率的两个方法 3. 加速人脸检测的方法 下面围绕这几个点展开叙述。 建人脸检测工程 1 . 首先我们先使用上期说的examples里的人脸检测。 我们只要将face_de…

ios网络开发 网络状态检查

http://www.cnblogs.com/hanjun/archive/2012/12/01/2797622.html 网络连接中用到的类&#xff1a; 一.Reachability 1.添加 Reachability 的.h和.m文件&#xff0c;再添加SystemConfiguration.framework。 2.Reachability中定义了三种网络状态&#xff1a; typedef Num{ NotR…

delphi xe4 ini文件不能读取的解决方法

今天发现用inifiles下 tinifile.readstring方法突然不能读数据了&#xff0c;结果把ini文件格式由utf-8改成unicode后就能正常读取了。转载于:https://www.cnblogs.com/liqiao/p/3503985.html

《众妙之门——网页排版设计制胜秘诀》——3.4 展现品牌视觉的同时保持网页的可读性...

本节书摘来自异步社区《众妙之门——网页排版设计制胜秘诀》一书中的第3章&#xff0c;第3.4节&#xff0c;作者&#xff1a; 【德】Smashing Magazine 译者&#xff1a; 侯景艳 , 范辰 更多章节内容可以访问云栖社区“异步社区”公众号查看。 3.4 展现品牌视觉的同时保持网页的…

vs2013创建及使用DLL

这几天看了许多关于生成Dll的博文&#xff0c;很有感触&#xff0c;遂整理在此&#xff0c;以供自己后续参考。 VS2013创建DLL 我们使用vs2013来生成Dll&#xff0c;其实使用其他的版本也是同理如此。步骤如下&#xff1a; 单击“新建项目”&#xff0c;选择“Win32 项目”&a…

python的作用域分别有几种_python中作用域与函数嵌套

知识回顾&#xff1a; 拆解传参。 1.字典传参。使用** 2.列表传参。使用* 实际上我们在定义函数的时候&#xff0c;如果省略了星号&#xff0c;那么在调用函数的时候必须要省略星号&#xff0c;除非我们拆解后的参数个数刚好相等。 视频内容 本节知识视频教程 文字讲解开始&…

这个博客的由来

笔者从事电信行业大型商业智能系统工作多年&#xff0c;日前从事B2C电商网站类数据分析工作&#xff0c;特开设此微博&#xff0c;在发表好文同时&#xff0c;研究网站分析技术。转载于:https://www.cnblogs.com/sambazhu/p/3508633.html

《Axure RP8 网站和APP原型制作 从入门到精通》一2.7 交付

本节书摘来自异步社区《Axure RP8 网站和APP原型制作 从入门到精通》一书中的第2章&#xff0c;第2.7节&#xff0c;作者 金乌&#xff0c;更多章节内容可以访问云栖社区“异步社区”公众号查看 2.7 交付 模型一旦经过批准&#xff0c;我们就可以进入切图和优化图像环节了。我…

iOS UISegmentedControl 的使用

当用户输入不仅仅是布尔值时&#xff0c;可使用分段控件&#xff08;UISegmentedControl&#xff09;。分段控件提供一栏按钮&#xff08;有时称为按钮栏&#xff09;&#xff0c;但只能激活其中一个按钮。分段控件会导致用户在屏幕上看到的内容发生变化。它们常用于在不同类别…