gpt4 book ai didi

python - 如何使 "ValueError"异常替换列表中的项目

转载 作者:太空狗 更新时间:2023-10-30 01:25:58 25 4
gpt4 key购买 nike

我正在尝试编写一段代码,它将遍历数字列表(在垂直条上拆分),如果用户输入非数字,将抛出异常并将所述对象替换为 0。它旨在按降序(从大到小)显示列表,中间有竖线。这是我目前的代码,但我无法让它工作。

    numbers = input("Please enter several integer numbers separated by 
vertical bars. ").split('|')
for item in numbers:
try:
numbers = [int(item) for item in numbers]
except ValueError:
item = item.replace(item,'0')
numbers = sorted(numbers, reverse = True)
print(' | '.join(str(num) for num in numbers))

最佳答案

numbers = input("Please enter several integer numbers separated by vertical bars. ")
numbers = numbers.split('|')
temp = []
for item in numbers:
try:
temp.append(int(item))
except ValueError:
temp.append(0)
numbers = temp

请注意,我们在迭代时不会更改 numbers。完成相同任务的另一种方法是类似

def eval_number(s):
try:
return int(s)
except ValueError:
return 0

numbers = input("Please enter several integer numbers separated by vertical bars. ")
numbers = numbers.split('|')
numbers = list(map(eval_number, numbers))

关于python - 如何使 "ValueError"异常替换列表中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47544163/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com