首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果number为3且sum包含3,则返回True语句

如果number为3且sum包含3,则返回True语句
EN

Stack Overflow用户
提问于 2021-07-03 18:33:36
回答 2查看 74关注 0票数 0
代码语言:javascript
复制
def working_with_three(num1, num2):
    if num1 or num2 == 3 and 3 in str(num1 + num2):
        return True
    else:
        return False

working_with_three(-6, 19)

我正在尝试创建一个函数,该函数仅当其中一个数字为3且和包含3时才返回True,但是当我运行此函数时,我总是得到True,即使我应该得到False

EN

回答 2

Stack Overflow用户

发布于 2021-07-03 18:45:55

代码语言:javascript
复制
def working_with_three(num1, num2):
sum1 = num1+num2
if ((num1 ==3 or num2==3) and str(3) in str(sum1)):
    return True
return False
票数 0
EN

Stack Overflow用户

发布于 2021-07-03 18:46:13

因此,这里有许多有趣的“初学者”问题。

首先,num1 or num2 == 3被计算为(num1) or (num2==3),然后我们必须弄清楚如何将(num1)转换为true或false。在python中,数字0恰好是假的,而所有其他数字都是真的。

所以你真正想要的是num1==3 or num2==3

您还需要考虑if的其他部分:您想要检查字符"3“是否在由数字生成的字符串中,而不是数字3是否在字符串中(这甚至没有实际意义)。所以'3' in str(num1 + num2)

但是等等,还有更多。无论何时你看到这个模式

代码语言:javascript
复制
if something:
    return True
else:
    return False

您应该深入思考发生了什么:something被证明是TrueFalse,然后例程返回TrueFalse。这意味着你可以直接做

代码语言:javascript
复制
return something
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68235391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档