面试过程中,提到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. OpenGL渲染时的数据流动

    OpenGL渲染时的数据流动 文件地址:https://wws.lanzous.com/i2aR3gu251e 链接失效记得回复哦!马上更新!

  2. 文件上传限制条件(JS、后缀、文件名、类型、截断)绕过及修复建议

    在现代互联网的Web应用程序中,上传文件是一 种常见的功能,因为它有助于提高业务效率,比如企业的OA系统,允许用户上传图片.视频.头像和许多其他类型的文件.然而向用户提供的功能越多,Web应用受到攻击 ...

  3. 黑菜菌的JAVA学习笔记

    简介 本文是笔者对<JAVA编程思想>的学习笔记.以自己的思维理解来写下这篇文章,尽可能地简练,易懂.本文将随本人学习进度实时更新 对象导论 抽象过程 汇编语言是对底层机器码的抽象,而面向 ...

  4. spring:spring再总结(ioc、aop、DI等)

    IOC(Inversion of Control),即"控制反转",不是一种技术而是一种思想 1.IOC的理解 Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部 ...

  5. Tomcat学习小记(二)

    1.Tomcat源码入口 生命周期统一管理接口:LifeCycle 实现LifeCycle接口的类:(idea快捷键:Ctrl+h) 多个组件共同实现LifeCycle接口 Tomcat启动入口分析: ...

  6. 大话Python切片,助你彻底掌控切片小妖精

    切片语义 生活中切黄瓜.切萝卜.一本书的每一页等等都是符合切片的语义 切片的语义是从某个东西中通过某种手段拿到某个整体的一部分 切片是拿来主义,建立在已经有的序列上,有黄瓜才能切黄瓜  列表 -> ...

  7. Java学习day02

    day02-课堂笔记 1.打开DOS命令窗口,执行java HelloWorld,执行原理? * java.exe命令会启动JVM * JVM启动之后会启动类加载器ClassLoader * Clas ...

  8. frp内网穿透

    原理 frp(fast reverse proxy)分为Server端和Client端,Server端安装在带有公网IP的服务器上,Client安装在内网环境但能上网的普通PC中. 流程: Serve ...

  9. Spring Boot第七弹,别再问我拦截器如何配置了!!!

    持续原创输出,点击上方蓝字关注我吧 前言 上篇文章讲了Spring Boot的WEB开发基础内容,相信读者朋友们已经有了初步的了解,知道如何写一个接口. 今天这篇文章来介绍一下拦截器在Spring B ...

  10. 利用Python+pyecharts+tushare图形化展示股票历史财务信息

    在微信或其他平台上,经常能看到别人推荐股票,分析的头头是道,让自己懊恼于没有早点关注到这只股票,好像错失了几个亿.但是投资股票又忌讳听消息跟风,总不能看到别人推荐自己就无脑买入. 看到了一只股票,自己 ...