好的,我正在做一个作业任务,被要求完成以下内容:
创建一个名为“学生数据”的函数,它接受四个参数,姓名(字符串),年龄(整数),学号(字符串)和是否注册CSCA08(布尔值),并以以下格式返回包含该信息的字符串:[学号,姓名,年龄,是否注册]。
您的代码应按以下方式工作:
>>> student_data("Brian",32,"1234567",False)
`[1234567,Brian,32,False]'
>>> student_data("Nick",97,"0000001",True)
`[0000001,Nick,97,True]'
我想到的是这个:
def student_data(name, age, student_number):
return '[' + student_number + ',' + name + ',' + str(age) + ']'
并在输入到Python时:
student_data("Jeremy", 19, "999923329")
'[999923329,Jeremy,19]'
(注意,我省略了关于布尔值的最后一部分 - 我马上会讲到。)
据我所知,'Jeremy'和'999923329'都是字符串,随后作为第二行字符串的一部分返回。对于'age',由于在调用student_data函数时没有引号,因此Python将其解释为一个整数。然后,我将该整数值转换为字符串,以便最终得到'[999923329,Jeremy,19]'。
因此,从技术上讲,我想问的是:直到返回函数将其更改为str类型,参数'age'是否被Python视为int类型?请注意,该任务需要四个参数,两个字符串(我有),一个整数(我不知道它实际上是否被解释为整数)和一个布尔值,因此如下:
我真的不知道布尔值是如何工作的。具体而言,在任务的上下文中,我应该做什么?举个例子,会是什么样子?我把我的代码拼凑了一会儿,得出了以下内容:
def student_data(name, age, student_number, boolean):
return '[' + student_number + ',' + name + ',' + str(age) + "," + str(boolean) + ']'
然后在Python中输入它:
student_data("Jeremy", 19, "999923329", True)
'[999923329,Jeremy,19,True]'
这实际上正是作业要求我的,但我不喜欢这样做,因为我并不真正理解正在发生的事情。例如,“boolean”是函数“student_data”需要使用的一个参数。但是参数到底是什么?它和变量是一样的吗?当我在Python shell中输入“True”时,到底发生了什么?
所发生的事情和给变量赋值时发生的事情一样吗?在那种情况下,当我给一个变量赋值时会发生什么?作业要求将参数设置为布尔值,但我不认为我已经在代码中输入了布尔值,是吗?
如果还没有显而易见,我以前从未上过计算机科学课。
def student_data(name, age, student_number): return '[{}, {}, {}]'.format(name, age, student_number)
。最好使用str.format
而不是用+
连接字符串。 - rlmsstr()
使用给定值作为基础创建一个新值。看起来你对语言的基础知识理解不够好 - 你应该阅读更多的教程。 - Gareth Latty