我有一個程序用於在Windows上枚舉具有管理權限的用戶。我還想顯示存儲在名爲num_administrator
的變量中的已找到的帳戶數。 我有以下的代碼:Python中的條件顯示字符串
if num_administrators > 1:
print("[*] {} accounts with administrative privileges found:\n".format(num_administrators))
show_admins()
elif num_administrators == 1:
print("[*] {} account with administrative privileges found:\n".format(num_administrators))
show_admins()
else:
print("[*] No accounts with administrative privileges found.\n")
如果沒有管理員我想打印[*] No accounts with administrative privileges found.
如果有1名或多個管理員要顯示的消息幾乎是相同的,唯一的區別是根據編號顯示account
或accounts
。這只是一個字母(s
)的問題。 我是否可以通過使用唯一語句或以更簡單的方式實現條件打印? 是否可以打印出類似這樣:
print("[*] {} account".format(num_administrators) + if num_administrators > 1 "s" + "with administrative privileges found:\n")
不要介意我上面的代碼,我不知道語法,如果我在做什麼是有意義的,它只是給你一個什麼樣的想法,我我在想,你可以告訴我它是否可行。
除了我打電話功能show_admins()
3次(用於打印管理員帳戶),但實際上我可以只在最後調用它一次,我猜。
只需將縮進4個空格落後 - 你的elif和else從未持有,因爲他們是內如果。 – dmitryro
@dmitryro如果是這樣的話,他會得到一個'SyntaxError'。如果沒有'if',你不能有'elif'。可能只是一個複製和粘貼錯誤。 – Bakuriu
[Python條件字符串格式化]的可能重複(http://stackoverflow.com/questions/9244909/python-conditional-string-formatting) –