編寫一個簡短的python函數,該函數採用一系列整數值並確定所有數字是否不同。 (它們是不同的)對序列的Python幫助
回答
很簡單。我會做的是將每個數字相減,如果每個數字都是0,所有的數字必須是相同的,其他的不同。
def sequence():
numbers1=[25,30,45,67]
numbers2=[25,30,45,67]
count=0
for i in numbers1:
for i2 in numbers2:
if i-i2!=0:
count+=1
if count==(len(numbers1)*len(numbers2))-len(numbers1):
print("all numbers are different.")
a=sequence()
在這裏,你有兩個列表。這兩個列表必須具有相同的編號才能工作。 for循環從另一個列表中的每個其他數字中減去每個數字。每次該值不等於零時,計數都會遞增。最後,
if count is equal to the length of both lists multiplied by each other (which is 16) - the length of one list
,
則所有的數字都不同。您必須減去一個列表的長度一次,因爲4次i-i2
將爲零,因爲兩個列表都具有相同的編號。
編輯: 上面是一個簡單的例子,但如果您希望該功能可用,那麼您可以在函數中添加參數,然後將該參數用作列表中的數字。這些參數將作爲用戶輸入他們想要比較的數字(如果它們不同)的方式。但是,這最終會受到限制,如果用戶想要比參數中提供的數字更多,那該怎麼辦?也許你可以走下一步,找到一個方法。
這是一個很好的解決方案,但不應該在實踐中使用,因爲它既令人困惑又具有O(n^2)運行時。使用python builtins。 –
@Matt Bryant,你說的對,我甚至不會使用這段代碼,儘管我寫了它,但是那個人確實說過他特別要求寫他自己的函數而不是內置函數。什麼是O(n^2)運行時? – 2013-10-09 16:48:44
我把它看作是要求一個函數來完成它,而沒有任何關於內建函數是否被允許的規範,但這將解釋爲什麼你的函數被接受。它測量算法的速度,查找Big-O符號以獲取更多信息。 –
使用一個set
。
def unique(numbers):
return len(numbers) == len(set(numbers))
- 1. Python列表幫助
- 2. Python列表幫助
- 3. python中的共識序列幫助
- 4. Python排列程序流程幫助
- 5. Python字典/列表幫助
- 6. Python列表語法幫助
- 7. python程序bug幫助
- 8. Python TKinter Threading幫助需要的幫助
- 9. 在python中對氣泡排序幫助 - 升序和降序
- 10. 無序列表幫助
- 11. 幫助無序列表
- 12. Python的子幫助
- 13. 幫助在Python
- 14. Python/Excel幫助
- 15. 幫助!在python
- 16. Python Pickle幫助
- 17. Python的階乘程序的幫助
- 18. Python:幫助組織列中的輸出
- 19. Python的幫助下,從列表
- 20. 對我的幫助
- 21. Python解析幫助
- 22. Python 2.7 - 幫助pandas_reader
- 23. Python Numpy nan_to_num幫助
- 24. Python - 需要幫助
- 25. 幫助re.search python length
- 26. Python-twitter API幫助
- 27. 庫存幫助Python
- 28. Python QuickBase API幫助
- 29. Python腳本幫助
- 30. 幫助使用python
如果你不做自己的功課,你將很難學習。 –