面试过程中,提到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. 【原创】xenomai内核解析--实时IPC概述

    版权声明:本文为本文为博主原创文章,转载请注明出处.如有问题,欢迎指正.博客地址:https://www.cnblogs.com/wsg1100/ 目录 1.概述 2.Real-time IPC 2. ...

  2. mysql-3-orderby

    #进阶3:排序查询 /* 语法: SELECT FROM WHERE ORDER BY ASC|DESC */ USE myemployees; #案例1:查询员工信息,按工资从高到低排 SELECT ...

  3. 如何安装eclipse

    1.打开浏览器输入网址:http://www.eclipse.org 进入官方 2.(目前我使用windows操作系统),下拉界面选择"windows"后的"64-bit ...

  4. 022 01 Android 零基础入门 01 Java基础语法 03 Java运算符 02 算术运算符

    022 01 Android 零基础入门 01 Java基础语法 03 Java运算符 02 算术运算符 本文知识点:Java中的算术运算符 算术运算符介绍 算术运算符代码示例 注意字符串连接问题和整 ...

  5. 【题解】CF375D Tree and Queries

    Link \(\text{Solution:}\) 讲实话这题有点烦,不知道为啥改了下\(\text{dfs}\)就过了--原版本\(dfs\)好像没啥错啊-- 其实对于子树问题,我们求出原来树的\( ...

  6. vue3.0版本安装

    如果安装过其他版本的vue的话先卸载 npm uninstall -g vue-cli //卸载指令 卸载不会影响以前项目的启动 然后安装 NPM安装: npm install -g @vue/cli ...

  7. 在java中使用SFTP协议安全的传输文件

    本文介绍在Java中如何使用基于SSH的文件传输协议(SFTP)将文件从本地上传到远程服务器,或者将文件在两个服务器之间安全的传输.我们先来了解一下这几个协议 SSH 是较可靠,专为远程登录会话和其他 ...

  8. 用IPV6隧道连接IPV4孤岛

    hostA和hostB之间是IPV6连接的,但是之前的服务只能支持IPV4,兼容IPV6比较困难.所以用隧道实现hostA和hostB之间用IPV4连接. hostA如下: ip -6 addr ad ...

  9. 多测师讲解selenium_iframe框定位_高级讲师肖sir

    iframe 框定位方法: 查看iframe框 京东点击登录定位元素 定位qq: qq登录定位的元素 查找iframe框 定位iframe框 from selenium import webdrive ...

  10. 动画演示Sunday字符串匹配算法——比KMP算法快七倍!极易理解!

    前言 上一篇我用动画的方式向大家详细说明了KMP算法(没看过的同学可以回去看看). 这次我依旧采用动画的方式向大家介绍另一个你用一次就会爱上的字符串匹配算法:Sunday算法,希望能收获你的点赞关注收 ...