如何解决你能找到使用 try / except 的偶数问题吗?
我不明白这件事:
list1 = [34,2,1,3,33,100,61,1800]
for n in list1:
try:
n%2 == 0
print(n)
except:
pass
上面代码的输出显示了每个数字,但我只需要偶数。 我的错误是什么?
解决方法
我怀疑您在某处遗漏了一个基本概念。 try / except
用于捕获错误。为了以您尝试的方式使用它,您需要在某些情况下导致错误。一种简单的方法是 assert
数字为偶数。 assert n % 2 == 0
表示如果 n
不是偶数,则引发异常。然后您可以捕获异常并使用 pass
list1 = [34,2,1,3,33,100,61,1800]
for n in list1:
try:
assert n % 2 == 0 # cause an error if `n` is not even
print(n)
except AssertionError:
pass
,
您缺少条件 if
list1 = [34,1800]
for n in list1:
try:
if n%2 == 0:
print(n)
except:
pass
,
两件事。您在执行 n%2
之前忘记了 if 语句
第二件事是,尝试和除外的意义何在。你不需要它。
以下是您的代码示例
列表理解。
list1 = [34,1800]
even = [n for n in list1 if n%2 == 0]
输出
[34,1800]
简化代码
list1 = [34,1800]
even = []
for n in list1:
if n%2 == 0:
even.append(n)
输出
[34,1800]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。