Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.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 请从';酒鬼';作用_Python_Python 3.x - Fatal编程技术网

Python 请从';酒鬼';作用

Python 请从';酒鬼';作用,python,python-3.x,Python,Python 3.x,我在这一行上得到了帮助,但我并不完全理解。任何洞察都会令人惊叹 def drunks(bottle, end): print(bottle or 'No more','bottle'+('s' if bottle-1 else ''),end) 当你说打印瓶或“…”时,它是说如果瓶子=0如果你在这里面输入0,你就不会得到更多的瓶子,如果你输入1,你会得到单一的瓶子,而不是瓶子。对于第二个if语句,除非瓶子-1=0(瓶子等于1),否则您将始终编写瓶子 说明: 函数duckes

我在这一行上得到了帮助,但我并不完全理解。任何洞察都会令人惊叹

def drunks(bottle, end):

        print(bottle or 'No more','bottle'+('s' if bottle-1 else ''),end)

当你说打印瓶或“…”时,它是说如果瓶子=0如果你在这里面输入0,你就不会得到更多的瓶子,如果你输入1,你会得到单一的瓶子,而不是瓶子。对于第二个if语句,除非瓶子-1=0(瓶子等于1),否则您将始终编写瓶子

说明:

  • 函数
    duckes()
    接受两个参数(
    battle
    end
  • 内置的
    print()
    函数接受无限数量的位置参数(在您的例子中,它们是3
  • 因此,它将打印三个值,由默认分隔符分隔(即空格
  • 第一个表达式(
    瓶子或“不再”
    ):

    • Python支持。请参见链接中表格的第一行:
      x或y
      |
      如果x为false,则为y,否则为x
    • 因此,在您的情况下,
      瓶子或“不再”
      ,如果
      瓶子
      是,则不会打印更多的。但是如果
      瓶子
      是一个真实的瓶子,它会被打印出来(我不知道
      瓶子
      是什么类型,但我认为它是一个整数)
  • 第二个表达式(
    瓶子+('s'如果瓶子-1其他“”)
    ):

    • 在这里,首先总是打印
      瓶子
    • 然后,我们附加
      的“if-bottle-1-else”的结果
      。如果
      瓶-1
      是一个真实的值(不是虚假的值),我们将附加字母
      s
      ,否则我们将附加一个空字符串(这根本不是什么)
  • 最后,我们打印
    end
    参数,该参数也可以是任何类型的值

你到底不明白什么?例如,“瓶子”是用来干什么的?它说“瓶子或‘不再’”,我很难理解它是如何把信息拼凑在一起的。如果您愿意,我可以发布整个代码。检查
酒鬼(0,“\n”)
酒鬼(1,“\n”)
,和
酒鬼(2,“\n”)
,看看您是否能找出它为什么输出它的功能。好的,可以!!!
def drunks(bottle, end):
    print(bottle or 'No more', 'bottle' + ('s' if bottle - 1 else ''), end)