【问题标题】:Def function introdef函数介绍
【发布时间】:2014-03-12 17:45:14
【问题描述】:

我必须定义一个名为引入() 的函数。它两次询问一个人的名字,然后将两个人分别介绍给另一个人。函数introduction()接受一个字符串参数

例如它会说: 你叫什么名字? 约翰

你叫什么名字?迈克

然后它会返回:

约翰认识迈克,

迈克遇见约翰

我目前的代码是

 def introduce(intro):
     1st = input('What is your name?: ')
     2nd = input('And what is your name? ')
     print(1st(input) 'meet' 2nd(input))

我想知道我做错了什么,我是 Python 新手,所以我对其中的一些元素不太熟悉

【问题讨论】:

  • 很少 (?) 编程语言的变量名可能以数字开头。
  • 我猜你应该至少读一点Python tutorial;这是非常基本的东西。阅读您收到的错误消息,它们会为您指明正确的方向(例如,1st 不是合法的变量名)...
  • 不幸的是,到目前为止,没有一个答案表明您不应该使用input。你应该使用raw_input
  • @devnull 提问者没有指定版本,但 print 被用作函数,所以这很可能是 Python 3,它没有 raw_input

标签: python function syntax


【解决方案1】:

除此之外,Python(和大多数其他语言)中的变量名不能以数字开头,因此请使用 firstsecond

你还在你的print 调用中做了一些奇怪的语法东西,这肯定是行不通的。一旦分配了这两个变量,只需将它们打印出来——无需再次引用input 函数。只需将firstsecond 和其他任何东西作为逗号分隔的参数传递给print 函数:

print(first, 'meet', second)

强烈建议您完成一些Python tutorials。这都是非常基本的语法内容;做那里的例子可能会对你有很大帮助。

【讨论】:

    【解决方案2】:

    首先,在 Python 中,变量名不能以数字开头,因此请尝试将它们命名为 firstsecond

    其次,变量后面的(input) 是不必要的(而且是错误的)。变量名不言自明。

    第三,用逗号分隔你的变量和'meet',这样它们之间就会有一个空格并自动连接在一起。还有其他方法,但这是最简单的

    def introduce(intro):
        first = input('What is your name?: ')
        second = input('And what is your name? ')
        print(first, 'meet', second)
        print(second, 'meet', first)
    

    【讨论】:

      【解决方案3】:

      首先,变量名不能以数字开头。

      输入保存在变量1st中。你不需要使用1st(input)。相反,您只需 `print(first)

      另外,你加入字符串的方式也有问题。可以通过两种方式完成:

      #Method 1:
      print(1st, 'meet' , '2nd')
      

      #Method 2:
      print(1st + ' meet ' + 2nd)
      

      不同之处在于:逗号会添加空格,而使用 + 时需要空格(至少,它们是您需要注意的唯一区别。)

      【讨论】: