題目描述:
1.程序功能:
隨機輸入若干個不超過2位的正整數(輸入-1表示輸入結束),找出其中所有同構數並排序輸出。(正整數n若是它平方數的尾部,則稱n爲同構數。如5的平方數是25,且5是25的尾部,那麼5就是一個同構數。同理,25的平方爲625,25也是同構數)
2.輸入輸出要求如下:
輸入時要求首先判斷輸入數位數(1-2位)是否正確,判斷輸入內容是否是數字,(提示:判斷一個字符串是否是數字字符可用字符串的isdigit()方法)然後判斷是否是同構數, 輸出的同構數要求從小到大排序,結果顯示在一行,各同構數間空格分隔。(提示:排序可用列表的sort()方法)
3.程序運行結果要求如下圖所示:
(4)程序代碼:
def getNum():#輸入數字
nums=[]
iNumStr=input()
while iNumStr !='-1':#輸入-1表示輸入結束
if(len(iNumStr) in[1,2]):#確保不超過2位的正整數
if(iNumStr.isdigit()):#判斷一個字符串是否是數字字符
nums.append(eval(iNumStr))#向數組裏面添加輸入的數字
iNumStr=input()
return nums
def tonggou(n):#判斷是否爲同構數並輸出同構數
list=[]
for i in n:
if(len(str(i))==1):#一位數判斷
if(str(i)==(str(i*i))[-1]):
list.append(i)
if(len(str(i))==2):#兩位數判斷
if(str(i)==(str(i*i))[-2:]):
list.append(i)
return list
def main():
s=getNum()
m=tonggou(s)
m.sort()#輸出的同構數要求從小到大排序
print("同構數有:",end=' ')
for e in m:
print(e,end=' ')
main()
(5)程序運行效果圖:
感謝大家一大早的祝福,又老了一歲哈,不過還是一如既往地積極向上、樂觀開朗,在接下來的日子裏也會更加珍惜時光,用心去享受生活。希望大家能一直像小孩子一樣無憂無慮,兒童節快樂! 永遠屬於我們的節日!