解題思路&**段
函式小結
春天是鮮花的季節,水仙花就是其中最迷人的代表,數學上有個水仙花數,他是這樣定義的: 「水仙花數」是指乙個三位數,它的各位數字的立方和等於其本身,比如:153=1^3 + 5^3 + 3^3。 現在要求輸出所有在m和n範圍內的水仙花數。
輸入資料有多組,每組佔一行,包括兩個整數m和n(100 ≤ m ≤ n ≤ 999)。
對於每個測試例項,要求輸出所有在給定範圍內的水仙花數,就是說,輸出的水仙花數必須大於等於m,並且小於等於n,如果有多個,則要求從小到大排列在一行內輸出,之間用乙個空格隔開;如果給定的範圍內不存在水仙花數,則輸出no;
每個測試例項的輸出佔一行。
輸入該方法事先計算好水仙花數,存放到daffodil_number列表中,然後遍歷判斷[m,n]區域內是否有水仙花數。該解題思路將計算水仙花數轉換為查詢,當然遍歷計算也不錯,只不過跟這種方法比起來增大了計算量,花費更多的時間。100 120
300 380
輸出no
370 371
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)
:#將找到的水仙花數存放到列表中
#如果[m,n]區間沒有水仙花數輸出「no」,否則按格式輸出對應的水仙花數
iflen
(results)==0
:print
("no"
)else
:print
(" "
.join(
str(result)
for result in results)
)
語法:
map(function, iterable, …)
描述:map() 會根據提供的函式對指定序列做對映。
第乙個引數 function 以引數序列中的每乙個元素呼叫 function 函式,返回包含每次 function 函式返回值的新列表。
引數說明:function – 函式
iterable – 乙個或多個序列
返回值:例1:利用map()函式求列表平方:python 3返回迭代器。
**注意:**python3中想要輸出map()結果,需要轉化為list()。
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]語法:
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!!!』]語法:
描述:
引數說明:obj – 新增到列表末尾的物件。
返回值:例3:新增列表:該方法無返回值,但是會修改原來的列表。
, list1)輸出結果:
語法:
』sep』.join(seq)
引數說明:sep:分隔符。可以為空
seq:要連線的元素序列、字串、元組、字典
上面的語法即:以sep作為分隔符,將seq所有的元素合併成乙個新的字串
返回值:例4:新增列表:返回乙個以分隔符sep連線各個元素後生成的字串
str
="this is string example....wow!!!"
print
('-'
.join(
str.split())
)
輸出結果:
this-is-string-example…wow!!!語法:
class str(object=』』)
描述:str() 函式將物件轉化為string格式。
引數說明:object – 物件。
返回值:例5:新增列表:返回乙個物件的string格式。
x=
987456123
y =str
(x)print
(type
(x))
print
(type
(y))
輸出結果:
python練習 1 水仙花數 1
也被稱為超完全數字不變數 pluperfect digital invariant,ppdi 自戀數 自冪數 阿姆斯壯數或阿姆斯特朗數 armstrong number 水仙花數是指乙個 n 位數 n 3 它的每個位上的數字的 n 次冪之和等於它本身 例如 1 3 5 3 3 3 153 嚴格意義上...
python的水仙花數
列印出所有的 水仙花數 所謂 水仙花數 是指乙個三位數,其各位數字立方和等於該數本身。例如 153是乙個 水仙花數 因為153 1的三次方 5的三次方 3的三次方。這題也是送分題,只要能把任意三位數的百位 十位 個位拆解出來就好辦了。思路 將任意3位數除以100再向下取整,即可得到百位數。將這個3位...
python編寫水仙花數
列出所有的水仙花數 coding utf 8 列出水仙花數 for num in range 100,1000 ge num num 10 bai num num 100 shi num num bai num 100 ge num 10 if ge num 3 shi num 3 bai num ...