python123题库及答案水仙花(python编写水仙花)

http://www.itjxue.com  2023-03-26 20:43  来源:未知  点击次数: 

关于Python求解水仙花数的问题

i = n/100 是求百位上的数字,如123除以100就等于1 j = (n/10)%10 是求十位上的数字,如123除以10等于12,再除以10取余数就等于2 k = n % 10 是求个位上的数字,如123除以10取余数就等于3

Python编程题2--水仙花数

如果一个 3 位数等于其各位数字的立方和,则称这个数为水仙花数。

例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一个水仙花数

请按照从小到大的顺序输出 1000 以内的水仙花数(3位数),并用"逗号"分隔输出结果

Python求解答过程

第11题

因为取字符串TempStr的从TempStr[3]到TempStr[-2]的字符,

这里的下标都是从0开始,Python的数学取值区间都是[3,-1)半开区间,

因此取值范围是[3,-2],运行结果是3.14159

第13题

这是一个求400到500间的水仙花数的程序,水仙花数是指各个数位上的数的3次方的和等于这个数本身的3位数,

变量i是取这个3位数的百位上的数字,变量j是取这个3位数的十位上的数字,变量k是取这个3位数的个位上的数字,

如果这个数等于各个数位上的数的3次方的和,则打印这个数,在400到500中水仙花数只有407.

你也可以用4*4*4+0*0*0+7*7*7=64+0+343=407来判断答案是A,408不满足上述条件,153和159不在400到500范围内

第43题

Python中的list中的index函数是返回字符串's'在list中的索引位置(Python的索引下标都是从0开始),后面的5和10,是可选项表示查找从下标5到下标10的范围,

因为Python都是半开区间,所以实际范围为[5,9]区间,所以在"ky is"中查找's',其索引位置在整个字符串中是9,返回打印9

求Python三位水仙花数OJ题和答案

print(str([i?for?i?in?range(100,1000)?if?(i%10)**3+(i//10%10)**3+(i//100)**3?==?i])[1:-1])

一行代码带走

如果不想要最后的换行,则用下面这句

print(str([i?for?i?in?range(100,1000)?if?(i%10)**3+(i//10%10)**3+(i//100)**3?==?i])[1:-1],end='')

(责任编辑:IT教学网)

更多

推荐测评专题文章