[英]Is there a difference between 1 and 2 (complexity time or clean code better)?
1:
it_courses = {'CS': ('Discrete Structures (2)', 'Compiler Construction', 'Theory of computation'), 'SE': (
'Software Analysis and Design', 'Project management', 'Advanced Internet Computing')}
def register_courses(it_courses, dep_acronym):
if dep_acronym == 'CS':
for index in it_courses['SE']:
* print(f"Can't register {index}")
else:
for index in it_courses['CS']:
print(f"Can't register {index}")
register_courses(it_courses, 'CS')
2:
def register_courses(it_courses, dep_acronym):
for key in it_courses:
if key != dep_acronym:
for i in it_courses[key]:
print("Can't register ",i)
復雜性有什么不同嗎?那是我在干凈代碼中需要的嗎?
沒有復雜性差異。 假設我們有 10 個部門。 然后你將在#1 中有 10 個 if 語句,而在#2 的外循環中有 10 個要循環的東西。 在內部循環中,您仍然需要為 #1 和 #2 打印相同數量的內容。
#2更簡潔,因為一旦添加更多部門,#1 將變得非常大(很多 if 語句)。
#1 具有線性時間或 O(n) 復雜度,而 #2 也具有線性復雜度,但系數稍高,估計為 O(n+2)//。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.