Ich habe ein Programm zum Aufzählen der Benutzer mit Administratorrechten auf Windows. Ich möchte auch die Anzahl der gefundenen Konten anzeigen, die in einer Variablen namens num_administrator
gespeichert ist. Ich habe das folgende Stück Code:bedingte Anzeige von Zeichenfolge in 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")
Wenn es nicht admins sind, würde ich [*] No accounts with administrative privileges found.
drucken möchten Wenn ein oder mehrere Administratoren ist die Nachricht angezeigt werden fast das gleiche, der einzige Unterschied ist die Anzeige von account
oder accounts
entsprechend der Nummer. Es ist nur eine Frage von 1 Brief (s
). Kann ich den bedingten Druck nur mit einer eindeutigen Aussage oder auf eine einfachere Art und Weise erzielen? Ist es möglich, so etwas wie zu drucken:
print("[*] {} account".format(num_administrators) + if num_administrators > 1 "s" + "with administrative privileges found:\n")
Sie meinen Code nicht über nichts, ich weiß nicht, die Syntax, wenn, was ich mache Sinn macht, es ist nur Sie, was eine Idee zu geben I Ich denke, und du kannst mir sagen, ob es machbar ist oder nicht.
Außerdem rufe ich die Funktion show_admins()
3 mal (zum Drucken der Admin-Konten), aber eigentlich kann ich es nur einmal am Ende rate ich denke.
einfach Ihre Einzüge 4 Leerzeichen rückwärts bewegen - Ihre Elif und sonst nie halten, wie sie innerhalb wenn sind. – dmitryro
@ dmitryro Wenn das der Fall wäre, würde er einen 'SyntaxError' bekommen. Du kannst kein 'elif' ohne' if' haben. Wahrscheinlich nur ein Kopier- und Einfügefehler. – Bakuriu
Mögliches Duplikat von [Python bedingte Zeichenformatierung] (http://stackoverflow.com/questions/9244909/python-conditional-string-formatting) –