gpt4 book ai didi

Python ValueError 用于计算正确结果的代码

转载 作者:行者123 更新时间:2023-12-01 01:24:55 27 4
gpt4 key购买 nike

问题陈述

给定一个整数 n,找到两个整数 a 和 b,使得:

#a >= 0 and b >= 0
#a + b = n
#DigitSum(a) + Digitsum(b) is maximum of all possibilities

def solve(n):

len_of_n = len(str(n))
len_of_n-=1
a = '9'
a = (a*len_of_n)
#print(a)
b = (int(n) - int(a) ) # This is the line where it points to error.
#print(b)

digits_of_a = []
digits_of_b = []
for i in str(a)[::-1]:
digits_of_a.append(int(i))
for i in str(b)[::-1]:
digits_of_b.append(int(i))

return (sum(digits_of_a) + sum(digits_of_b))

该代码实际上在 codewars.com 上的“尝试”测试用例中报告了正确答案,但最终提交失败。它退出并显示错误代码 1。它显示 ValueError: invalidliteral for int() with base 10: ''

我已阅读其他线程,并了解该错误是由于尝试将空格字符转换为整数造成的。无法理解为什么该声明会得到空格字符。它们都是字符串的 int 表示...?

最佳答案

当您将单个数字 int 传递给函数时,您会收到此错误,因为 len_of_n = len(str(n)) 将等于 1 并且len_of_n-=1 将等于 0。0 * '9' 将为您提供一个无法转换为 int 的空字符串。因此给你错误

invalid literal for int() with base 10: ' '

关于Python ValueError 用于计算正确结果的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53456020/

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