我有一个程序用于在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) –