是否有更好和更短的方法
url = input("Url: ")
if '.com' in url:
print("has .com")
elif '.uk' in url:
print('has uk')
elif '.au' in url:
print('hass au')
elif:
print('has nothing i the list')
我正在使用python3。
答案 0 :(得分:5)
如果您使用不同的参数执行相同的操作,则for
循环听起来像是一个有竞争力的候选人:
for s in [".com", ".uk", ".au"]:
if s in url:
print("has %s" % s)
break
else:
print("has nothing")
如果else
循环正常完成(而不是for
或异常),则将执行break
块,因此上述构造是一个完美的解决方案。
答案 1 :(得分:0)
您的代码看起来不错。另一种可能的方法:
accepted_domains = ['.com', '.uk', '.au']
url = input("Url: ")
try:
print("has " + accepted_domains[accepted_domains.index(url)])
except ValueError:
print('has nothing i the list')