Python练习笔记 |
您所在的位置:网站首页 › 输出所有的水仙花数的代码 › Python练习笔记 |
Python练习笔记 - - 水仙花数
题目描述输入描述:输出描述:示例1
解题思路&代码段函数小结map()函数split()函数append()函数join()函数str()函数
题目描述
春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的: “水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3 + 5^3 + 3^3。 现在要求输出所有在m和n范围内的水仙花数。 输入描述:输入数据有多组,每组占一行,包括两个整数m和n(100 ≤ m ≤ n ≤ 999)。 输出描述:对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于m,并且小于等于n,如果有多个,则要求从小到大排列在一行内输出,之间用一个空格隔开; 如果给定的范围内不存在水仙花数,则输出no; 每个测试实例的输出占一行。 示例1输入 100 120 300 380 输出 no 370 371 解题思路&代码段该方法事先计算好水仙花数,存放到daffodil_number列表中,然后遍历判断[m,n]区域内是否有水仙花数。该解题思路将计算水仙花数转换为查找,当然遍历计算也不错,只不过跟这种方法比起来增大了计算量,花费更多的时间。 python3 # 按"空格"拆分,并映射给m,n m,n = map(int,input().split()) # 水仙花数,事先计算好放到解表中 daffodil_number = [153, 370, 371, 407] # 初始化一个新的列表results,存放水仙花数 results = [] # 遍历水仙花数是否在[m,n]区间内 for temp in daffodil_number: if temp in range(m,n): #将找到的水仙花数存放到列表中 results.append(temp) #如果[m,n]区间没有水仙花数输出“no”,否则按格式输出对应的水仙花数 if len(results)==0: print("no") else: print(" ".join(str(result) for result in results)) 函数小结 map()函数语法: map(function, iterable, …) 描述: map() 会根据提供的函数对指定序列做映射。 第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。 参数说明: function – 函数 iterable – 一个或多个序列 返回值: Python 3返回迭代器。 **注意:**Python3中想要输出map()结果,需要转化为list()。 例1:利用map()函数求列表平方: def fun(x): return x*x print(list(map(fun, [1, 2, 3, 4, 5, 6, 7, 8, 9])))输出结果: [1, 4, 9, 16, 25, 36, 49, 64, 81] split()函数语法: str.split(str="", num=string.count(str)) 描述: split()通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串 参数说明: str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。 num – 分割次数。 返回值: 返回分割后的字符串列表。 例2:分割字符串: str = "this is string example....wow!!!" print (str.split( ))输出结果: [‘this’, ‘is’, ‘string’, ‘example…wow!!!’] append()函数语法: list.append(obj) 描述: append() 方法用于在列表末尾添加新的对象。 参数说明: obj – 添加到列表末尾的对象。 返回值: 该方法无返回值,但是会修改原来的列表。 例3:添加列表: list1 = ['Google', 'Huawei', 'Taobao'] list1.append('Baidu') print ("New list : ", list1)输出结果: New list : [‘Google’, ‘Huawei’, ‘Taobao’, ‘Baidu’] join()函数语法: ’sep’.join(seq) 参数说明: sep:分隔符。可以为空 seq:要连接的元素序列、字符串、元组、字典 上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串 返回值: 返回一个以分隔符sep连接各个元素后生成的字符串 例4:添加列表: str = "this is string example....wow!!!" print ('-'.join(str.split( )))输出结果: this-is-string-example…wow!!! str()函数语法: class str(object=’’) 描述: str() 函数将对象转化为string格式。 参数说明: object – 对象。 返回值: 返回一个对象的string格式。 例5:添加列表: x=987456123 y = str(x) print(type(x)) print(type(y))输出结果:
|
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |