面试过程中,提到python,面试最多的就是让你现场写代码实现水仙花、冒泡、九九乘法表,这些面试方法旨在校验面试者的python基础和思维逻辑。

先从水仙花说起,水仙花是指一个n位正整数(n>=3),它的每个微商的数字的n次幂之和等于它本身。下面将从“输入任意正整数n(n>=3)打印”和“打印100-999的水仙花数”具体代码讲解分析

1、输入任意正整数n(n>=3)打印:

#!/usr/bin/python
#-*- coding:UTF-8 -*-
#水仙花是指一个n位正整数(n>=3),它的每个微商的数字的n次幂之和等于它本身。
#输入任意正整数n(n>=3)打印
def test(n):
list = [] #定义一个list列表
for i in range(pow(10,n-1),pow(10,n)): #range函数定义一个循环区间,pow函数实现参数的n次方。
# 假如n=3,那么range函数里面的参数为:range(100,10000).
# for循环会遍历包含100到9999之间的数 list = map(int,str(i)) #map(x,y)中,x作为要实现的结果,y为原始参数。
# python2.x会返回列表,python3.x会返回迭代器。
# 在此把map返回的结果放到list列表中,相当于把上面遍历的数值的百位、十位、个位分离,如上面的for循环遍历到153,会返回[1,5,3]格式
num = 0 #定义一个变量
for j in range(0,len(list)): #在上一个for循环里再嵌套一个循环,比如上一个循环遍历到153,列表形式为[1,5,3]
#在这里len函数取list表的长度,list表有3个数,所以长度为3.故该循环从0到2进行循环
num = num+pow(list[j],n) #pow函数返回每个循环数的n次方结果,如[1,5,3],循环完毕后pow函数返回的结果为1、75、27.
# 因为num每次循环都会加上一个循环返回的结果,故num=153
if num==i: #在此进行判断,如果num值等于第一个for循环遍历的值,就进行打印
print i #这里重点说明一下:如果写成"return i",在调用方法时只会打印一个数值 if __name__ == '__main__':
n = int(raw_input('请输入立方数:')) #raw_input函数直接读取控制台输入(任何类型的输入它都会接受),int函数的作用是将输入的字符转换为int类型
test(n) #调用方法

2、打印100-999的水仙花数:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
#打印100-999的水仙花数 for i in range(100,1000):#for循环区间为100-999的数
a = i//100 #取整除,返回商的整数部分。该处返回百位数数字
b = (i-a*100)//10 #该处返回十位数上的数字
c = i-a*100-b*10 #该处返回个位上的数字
if a*a*a+b*b*b+c*c*c == i : #这里做是否满足水仙花数的逻辑判断
print i #打印符合条件的数字

希望能帮助到需要的伙伴,如有疑惑可联系我。也欢迎大牛指正!

参考资料:http://blog.csdn.net/guo_apple/article/details/68944653

https://www.lijinlong.cc/python/pyxt/1525.html

python打印水仙花数的个人总结的更多相关文章

  1. 打印水仙花数(narcissus number)

    题目:打印出所有的"水仙花数(narcissus number)",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个" ...

  2. Python判断水仙花数

    水仙花数 水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI).自恋数.自幂数.阿姆斯壮数或阿姆斯特朗数( ...

  3. Java50道经典习题-程序3 打印水仙花数

    题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数",因为153=1 ...

  4. python练习——水仙花数

    题目: 请判断一个数是不是水仙花数.其中水仙花数定义各个位数立方和等于它本身的三位数.输入有多组测试数据,每组测试数据以包含一个整数n(100<=n<1000)输入0表示程序输入结束.输出 ...

  5. 【Java基础】for循环实现在控制台打印水仙花数

    代码: /* * 需求:在控制台输出所有的”水仙花数” * * 分析: * 什么是水仙花数呢? * 所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身. * 举例:153就是一个水仙花数. ...

  6. C++打印水仙花数

    #include <iostream> #include <Windows.h> using namespace std; int main(void) { int a, b, ...

  7. Python输出水仙花数,用逗号分隔

    描述 "水仙花数"是指一个三位整数,其各位数字的3次方和等于该数本身.‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪ ...

  8. 用Python编写水仙花数

    #找出水仙花数 def sxh(start, end): if end >= start and start >=100 and end<= 999: num=start #将num ...

  9. python初学者-水仙花数简单算法

    输出"水仙花数".所谓水仙花是指一个3位数的十进制数,其各位数字的立方和等于该数本身.例如:153是水仙花数. 用for循环实现水仙花数的计算图如下所示: 1 for i in r ...

随机推荐

  1. 刷题[De1CTF 2019]SSRF Me

    前置知识 本题框架是flask框架,正好python面向对象和flask框架没怎么学,借着这个好好学一下 这里我直接听mooc上北京大学陈斌老师的内容,因为讲的比较清楚,直接把他的ppt拿过来,看看就 ...

  2. 面试官:讲讲Redis的五大数据类型?如何使用?(内含完整测试源码)

    写在前面 最近面试跳槽的小伙伴有点多,给我反馈的面试情况更是千差万别,不过很多小伙伴反馈说:面试中的大部分问题都能够在我的公众号[冰河技术]中找到答案,面试过程还是挺轻松的,最终也是轻松的拿到了Off ...

  3. 花时三月 终于Spring Boot 微信点餐开源系统! 附源码

    架构 前后端分离:             Nginx与Tomcat的关系在这篇文章,几分钟可以快速了解: https://www.jianshu.com/p/22dcb7ef9172 补充: set ...

  4. 盘点MySQL中比较实用的函数

    之前小编在工作中遇到一些处理数据的问题,例如完成日期格式化,获取几天后的时间,生成指定格式的编码等问题,这时候小编经常会写一大堆逻辑代码来进行处理,还自己感觉自己很流弊的样子,后来却发现同事遇到相同的 ...

  5. Maven环境搭建及常用命令、生命周期

    一.下载maven包,解压 二.配置环境变量,MAVEN_PATH=解压路径 添加到path中 三.测试  mvn -v 查看maven版本 四.设置本地仓库的路径 在conf文件夹下的setting ...

  6. AA.Dapper升级了

    AA.Dapper基于dapper进一步封装而成的orm框架,提供增删改查.分页.事务.原生sql的功能,以满足日常的业务开发. 1.Repository层: DapperRepository类包含大 ...

  7. Spring Boot入门系列(二十)快速打造Restful API 接口

    spring boot入门系列文章已经写到第二十篇,前面我们讲了spring boot的基础入门的内容,也介绍了spring boot 整合mybatis,整合redis.整合Thymeleaf 模板 ...

  8. 应用启动失败,报错:The server experienced an unexpected error when processing the request

    前言 在腾讯云TKE集群中部署服务的时候,预警服务,warn一直重启,经过查询日志发现了如下的错误 The server experienced an unexpected error when pr ...

  9. Go strconv包

    strconv包 该包主要实现基本数据类型与其字符串表示的转换. 常用函数为Atoi().Itia().parse系列.format系列.append系列. 更多函数请查看官方文档. string与i ...

  10. SolrCloud搭建

    什么是SolrCloud? SolrCloud是基于 solr 和 zookeeper 的分布式搜索方案,它的主要思想是使用zookeeper作为SolrCloud集群的配置信息中心,统一管理Solr ...