所以我一直在编写一个程序,到目前为止,我觉得我做得很好。我有一个使用platform.mac_ver()查找Mac OS X版本的函数。我从platform.mac_ver()中分离了额外的值,以便它只包含版本和它的版本。但是,我想用它添加flavor文本。这就是我所拥有的:
def Version_Finder():
try:
v, _, _ = platform.mac_ver()
v = float('.'.join(v.split('.'[:2]))
if v == 10.5:
print("Mac OS X v. 10.5 Leopard")
if v == 10.6:
print("Mac OS X v. 10.6 Snow Leopard")
依此类推:
if v == 10.10:
print("Mac OS X v. 10.10 Yosemite")
else:
print("Mac OS X v. ", v)
这是我运行10.9 Mavericks时的输出:
Mac OS X v. 10.9 Mavericks
('Mac OS X v. ', 10.9)
我想要的只是输出的第一行,但我想我需要else语句,这样如果有人运行像10.4 Tiger这样的东西,那么他们仍然可以获得" Mac OS X v。"一部分。
如果你们能帮助我,那就太好了。 :)
答案 0 :(得分:1)
如果您只想运行一个部件,则应使用elif
:
if v == ...
pass
elif v == ...
pass
elif v == ...
pass
else:
...
否则,您将始终打印两条短信(如您所见)。发生这种情况的原因是,在下面的if / else中,总有一个是真的:
if v == 10.10:
print("Mac OS X v. 10.10 Yosemite")
else:
print("Mac OS X v. ", v)
因此,如果您运行10.9,那么它将打印if v == 10.9
语句,但它也会检查上面的if / else语句。在这种情况下,if v == 10.10
不成立,因此它将运行else
部分。这意味着它将打印另一条短信。