我正在参加一个在线课程,有作业。我现在正在做的这项研究让我把3个数字放在一起比较,寻找匹配的数字。使用int可以很好地工作,但是当我将“2”而不是2传递到函数中时,我无法进行比较,如果我尝试转换它,我也无法进行比较
有什么想法吗
boolHomework = homework3Bonus(1,2,"two")
def homework3Bonus(a,b,c):
print("The type of input is", type(c))
strA = a
strB = b
strC = int(c) #this isn't working
print("The type of input is", type(a))
print("The strings are",strA,strB,strC)
if (strA == strB) or (strB == strC) or (strA == strC):
print("Match")
这就产生了错误 strC=int(c) ValueError:基数为10的int()的文本无效:“2”
如果您想要一种功能性的方法来完成它,它还可以查找最多10个单词,那么这个解决方案将起作用
它允许将int值
5
int作为字符串'5'
或单词表示'five'
进行比较我们将map应用于所有传入值,以便在可能的情况下将它们转换为int
然后将lambda映射到列表中的每个对组合上,该列表比较并返回每个组合的
True
或False
itertools
是一个python标准库any
然后检查结果列表中是否有值为True
然后可以很容易地扩展到使用任意数量的参数,以在任意长度的值中找到匹配项
如果您有较低的约束条件,可以手动编写列表
stralpha
,请尝试此,如下所示:如果您有更高的约束,您应该参考以下内容:Is there a way to convert number words to Integers?
相关问题 更多 >
编程相关推荐