Python练习笔记

您所在的位置:网站首页 输出所有的水仙花数的代码 Python练习笔记

Python练习笔记

2023-08-25 05:17| 来源: 网络整理| 查看: 265

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