`
universsky
  • 浏览: 99297 次
文章分类
社区版块
存档分类
最新评论

Python编程求解3位水仙花数

 
阅读更多
Python

for i in range(1,10):
for j in range(0,10):
for k in range(0,10):
if i*100+j*10+k==i*i*i+j*j*j+k*k*k:
print (i*100+j*10+k)

153
370
371
407

Python(KK 英语发音:/ˈpaɪθən/,是一种面向对象、直译式计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。Python语法简捷而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。常见的一种应用情形是,使用python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,速度要求非常高,就可以用C++重写。
Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。
设计者开发时总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了。这在由Tim Peters写的python格言(称为The Zen of Python)里面表述为:There should be one-- and preferably only one --obvious way to do it. 这正好和Perl语言(另一种功能类似的高级动态语言)的中心思想TMTOWTDI(There's More Than One Way To Do It)完全相反。
Python的作者有意的设计限制性很强的语法,使得不好的编程习惯(例如if语句的下一行不向右缩进)都不能通过编译。其中很重要的一项就是Python的缩进规则。
一个和其他大多数语言(如C)的区别就是,一个模块的界限,完全是由每行的首字符在这一行的位置来决定的(而C语言是用一对花括号{}来明确的定出模块的边界的,与字符的位置毫无关系)。这一点曾经引起过争议。因为自从C这类的语言诞生后,语言的语法含义与字符的排列方式分离开来,曾经被认为是一种程序语言的进步。不过不可否认的是,通过强制程序员们缩进(包括if,for和函数定义等所有需要使用模块的地方),Python确实使得程序更加清晰和美观。
设计定位
Python的设计哲学是“优雅”、“明确”、“简单”。因此,Perl语言中“总是有多种方法来做同一件事”的理念在Python开发者中通常是难以忍受的。Python开发者的哲学是“用一种方法,最好是只有一种方法来做一件事”。在设计Python语言时,如果面临多种选择,Python开发者一般会拒绝花俏的语法,而选择明确的没有或者很少有歧义的语法。由于这种设计观念的差异,Python源代码通常被认为比Perl具备更好的可读性,并且能够支撑大规模的软件开发。这些准则被称为Python格言。在Python解释器内运行import this可以获得完整的列表。
Python开发人员尽量避开不成熟或者不重要的优化。一些针对非重要部位的加快运行速度的补丁通常不会被合并到Python内。所以很多人认为Python很慢。不过,根据二八定律,大多数程序对速度要求不高。在某些对运行速度要求很高的情况,Python设计师倾向于使用JIT技术,或者用使用C/C++语言改写这部分程序。可用的JIT技术是PyPy。
Python是完全面向对象的语言。函数、模块、数字、字符串都是对象。并且完全支持继承、重载、派生、多继承,有益于增强源代码的复用性。Python支持重载运算符和动态类型。相对于Lisp这种传统的函数式编程语言,Python对函数式设计只提供了有限的支持。有两个标准库(functools, itertools)提供了Haskell和Standard ML中久经考验的函数式程序设计工具。
虽然Python可能被粗略地分类为“脚本语言”(script language),但实际上一些大规模软件开发计划例如Zope、Mnet及BitTorrent,Google也广泛地使用它。Python的支持者较喜欢称它为一种高级动态编程语言,原因是“脚本语言”泛指仅作简单程序设计任务的语言,如shell script、VBScript等只能处理简单任务的编程语言,并不能与Python相提并论。
Python本身被设计为可扩充的。并非所有的特性和功能都集成到语言核心。Python提供了丰富的API和工具,以便程序员能够轻松地使用C语言、C++、Cython来编写扩充模块。Python编译器本身也可以被集成到其它需要脚本语言的程序内。因此,很多人还把Python作为一种“胶水语言”(glue language)使用。使用Python将其他语言编写的程序进行集成和封装。在Google内部的很多项目,例如Google Engine使用C++编写性能要求极高的部分,然后用Python或Java/Go调用相应的模块。《Python技术手册》的作者马特利(Alex Martelli)说:“这很难讲,不过,2004 年,Python 已在 Google 内部使用,Google 召募许多 Python 高手,但在这之前就已决定使用Python,他们的目的是 Python where we can, C++ where we must,在操控硬件的场合使用 C++,在快速开发时候使用 Python。”
分享到:
评论

相关推荐

    求出水仙花数V10

    在编程领域,求解水仙花数是一项基础的算法练习,它可以帮助初学者理解数字处理和循环结构的运用。 首先,我们需要了解水仙花数的数学定义。一个三位数n(100≤n≤999)是水仙花数,当且仅当: n = (n/100)^3 + (n...

    Python一句代码实现找出所有水仙花数的方法

    这里我们将探讨如何使用Python来找到所有的3位水仙花数。 首先,让我们详细解析第一个方法: ```python a = [(i*100+j*10+k == i**3+j**3+k**3, i**3+j**3+k**3) for i in range(1, 10) for j in range(0, 10) for...

    python软件编程等级考试(三级)编程实操题04图文word.pdf

    【Python软件编程等级... - 在求解水仙花数的程序中,`k`是变量,因为它在循环中可以被赋值更新。 - ①处的代码可能是`k=k*10+i`,用来构建三位数的各个位数。 以上是对题目内容中涉及的Python编程知识的详细解释。

    python编程基础实验指导书.docx

    - 水仙花数是指一个三位数,其各位数字立方和等于该数本身。 - 示例代码: ```python for num in range(100, 1000): sum_ = 0 temp = num while temp > 0: digit = temp % 10 sum_ += digit ** 3 temp //=...

    python练习题20道实例.pdf

    除了以上几个示例题,其他练习还包括条件运算符的运用、兔子繁殖算法、水仙花数的for循环应用、素数的计算与输出、计算皮球下落速度、列表数据的复制、日期和时间的格式化处理、辨别字符类型的函数、乘法口诀表的...

    《Python程序设计》实验3-Python基本数据类型及分支结构实验报告.docx

    此外,实验还要求识别水仙花数,这是一种特殊的三位数,其各位数字立方和等于自身。通过循环和条件判断,可以检查一个数是否满足水仙花数的条件。 对于选做部分,可以编写程序求级数的近似值。这通常涉及到循环和...

    python典例题100道.docx

    - 检查一个三位数是否是水仙花数,需要用到数字拆分和立方运算。可以将数字拆分为各个位数,然后比较它们的立方和。 9. **分解质因数**: - 对于一个正整数,找出它的所有质因数。使用了质因数分解的算法,通过...

    python1-23经典小案例(内含猴子吃桃 四叶玫瑰 九九乘法表)

    案例中的“求水仙花数”是找1000以内的数,如果该数等于其各位数立方和,就称为水仙花数。这涉及到数字转换和位运算,通过将数字转换为字符串,逐位计算立方和,然后比较结果。 “求素数”案例用于找到指定范围内的...

    python二级模拟卷3图文word练习.docx

    15. **水仙花数**:水仙花数是三位数,其各位数字立方和等于它本身。程序中需要使用整除和取余操作分离出个位、十位和百位,并检查这些数字立方和是否等于原数。 16. **计费程序**:模拟滴滴快车的计费规则,需要...

    python期末复习-程序题.docx

    - **水仙花数**:遍历三位数,计算立方和判断。 - **阶乘累加**:计算1到10的阶乘并累加。 - **数字3出现次数**:遍历范围内所有数,计算3出现的次数。 这些题目涵盖了Python的基础知识以及一些常见的编程技巧,...

    资料Python入门教程程序填空阅读填空程序试题.doc

    - 已给出代码可以找出所有三位水仙花数,代码是正确的。 10. **猴子吃桃问题**: - 这是一个典型的逆向思维问题,通过从最后一天的桃子数量向前推算,可以找到第一天摘桃的数量。使用递归或循环来解决。 11. **...

    python、Object-c、c语言100练习题.pdf

    3. **水仙花数** - 对于三位数,遍历100到999,计算每个数的各个位数立方和,如果等于原数则为水仙花数。这里需要掌握取个位、十位和百位的技巧。 4. **分解质因数** - 使用循环和条件判断,找到最小的质数k,不断...

    实验1-Python语法及控制结构教程文件.docx

    包括求解100以内的所有素数、找到所有三位水仙花数、计算阶乘、求1000以内所有奇数之和,以及输出斐波那契数列的前20项和打印九九乘法表等子任务。这些任务综合性地应用了循环、条件判断、数学运算以及列表操作等...

    试卷Python等级考试-第一课(2).pdf

    15. 自恋数(水仙花数): 自恋数是一个三位数,其各位数字立方和等于它自身。通过分别提取三位数的个位、十位和百位,可以检查一个数是否为自恋数。 以上内容涵盖了Python的基础语法、数据结构、流程控制、错误...

    实验循环结构剖析.pdf

    6. **水仙花数**:水仙花数是指一个三位数,其各位数字立方和等于原数的数。实验给出了三种不同方法来查找100到999之间的水仙花数。 7. **图形输出**:利用循环结构可以在控制台或窗口上打印出具有规律的图形,如...

    湖南省计算机二级试题下载

    1. **水仙花数**:水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。编程时,可以通过循环遍历100到999,计算每个数的各位数字立方和来找出水仙花数。 ...

    试题Python菜鸟教程程序填空阅读填空程序试题.pdf

    2. **水仙花数的计算** - `//`是整除运算符,返回两个数相除的整数部分。 - `%`是取模运算符,返回两数相除的余数。 - `==`是等于运算符,用于判断两边的值是否相等。 - 变量`i`表示三位数的百位,`j`表示十位,...

    高中信息技术期学科Python语言基础期末考试程序填空阅读填空程序试题.docx

    - 水仙花数是各位数字立方和等于其本身的三位数。可以使用循环遍历100到999之间的数字,检查每个数字是否满足条件。 10. **1~100内奇数之和** - 使用 `range` 函数求1~100内奇数之和,可以写成 `sum(range(1, 101...

    (完整版)Python题库优质程序填空阅读填空程序试题.pdf

    3. 水仙花数的计算 (1)`//`表示整数除法,返回商的整数部分。 (2)`%`表示取余运算,返回除法后的余数。 (3)`==`表示比较操作符,用于检查两个值是否相等。 (4)变量i表示的是百位数。 (5)变量j表示的是十位...

Global site tag (gtag.js) - Google Analytics