我寫了一個代碼,它從整數串列中找到唯一的元素。
def Distinct(arr, n):
for i in range(0, n):
d = 0
for j in range(0, i):
if (arr[i] == arr[j]):
d = 1
break
if (d == 0):
print(arr[i], end=',')
n = int(input('Enter length of numbers: '))
arr = []
for i in range(n):
a = input('enter the number: ')
arr.append(a)
print(Distinct(arr, n))
如果我給定的輸入陣列是[1,2,2,3,4]哪里n = 5我得到的輸出1,2,3,4,None,但我想輸出是1,2,3,4
誰能告訴如何解決這一問題?
uj5u.com熱心網友回復:
你的函式 Distinct 沒有return宣告,所以它總是回傳None。當您呼叫print(Distinct(arr, n))this 時正在列印None回傳的那個。你可以簡單地洗掉print()像這樣:
Distinct(arr, n)
要洗掉最后一個逗號,您不能在第一次迭代時列印逗號,然后在專案之前列印逗號。這是因為您不知道哪一項將是最后一項。
if d == 0 and i == 0:
print(arr[i], end='')
elif d == 0:
print("," arr[i], end='')
uj5u.com熱心網友回復:
嘗試這樣的事情:
def Distinct(arr, n):
lst = []
for i in range(0, n):
for j in range(0, i):
if (arr[i] == arr[j]):
lst.append(arr[i])
break
print(*lst, sep=',')
n = int(input('Enter length of numbers: '))
arr = []
for i in range(n):
a = input('enter the number: ')
arr.append(a)
Distinct(arr, n)
所以首先你計算所有的數字,最后你才列印出來
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/375873.html
