Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 价值单位为;字;对我的if语句没有影响_Python - Fatal编程技术网

Python 价值单位为;字;对我的if语句没有影响

Python 价值单位为;字;对我的if语句没有影响,python,Python,我正在学习python的第4天,所以如果我错过了一些非常明显的东西,我会提前道歉 整个程序发布在下面word=input()无论我在输入提示符中键入什么,都不会调用我的树函数。但是,如果我将:if-word=='Chris'或'j':更改为if-word=='Chris':这似乎有效 def tree(pine): return 'Hello' + pine def app(): word = input() if word == 'Chris' or 'j':

我正在学习python的第4天,所以如果我错过了一些非常明显的东西,我会提前道歉

整个程序发布在下面
word=input()
无论我在输入提示符中键入什么,都不会调用我的树函数。但是,如果我将:
if-word=='Chris'或'j':
更改为
if-word=='Chris':
这似乎有效

def tree(pine):
    return 'Hello' + pine


def app():
    word = input()
    if word == 'Chris' or 'j':
        print('Welcome ' + word + ' it is nice today! ', end='')
        print('It is so sunny')
    else:
        print(tree('lplp'))



app()
问题在于

如果word=='Chris'或'j':
如果我们将此语句分解,您将评估两个条件:

  • word=='Chris'
  • 'j'
  • 因此Python是一种有趣的语言,因为几乎任何类型的对象都可以作为布尔值计算。这意味着当您检查
    if'j'
    时,它实际上显示为
    True
    ,而不是某种错误,因为Python在幕后做了很多事情

    要解决此问题,您只需确保您正在检查
    word==“j”

    例如,为了让您开始学习,下面是一些常见的python布尔值:

    >bool(“”)
    假的
    >>>布尔(“j”)
    真的
    >>>布尔(0)
    假的
    >>>布尔(69)
    真的
    >>>布尔([])
    假的
    >>>bool([“你好”,“世界”])
    真的
    >>>Foo类:
    定义初始化(自):
    self.x=“y”
    >>>bool(Foo())
    真的
    >>>布尔(无)
    假的
    
    像这样:
    如果word='Chris'或word='j':
    你可能也想格式化你的字符串:print(欢迎{word},今天很好!”
    如果word在{'Chris',j'}:
    同样,我不是100%确定,但是你的代码总是正确的原因是当你执行
    如果变量名:
    语句时,您正在询问Python所述变量是否为None或False。在本例中,字符串“j”始终不是None非False,因此您的语句将始终计算为True,因此
    else
    语句将永远不会run@JuanC不完全是这样,每种数据类型都有自己的python
    bool
    怪癖。对于字符串,任何非空字符串的计算结果均为
    True