1

我需要创建一个名为 student data 的函数,它接受 4 个参数,一个名称(一个字符串)、一个年龄(一个整数)、一个学生编号(一个字符串)以及他们是否注册了 CSCA08(一个布尔值),并返回一个字符串包含以下格式的信息:[student number,name,age,enrolled].

我已经编写了以下代码,但它不起作用

def student_data(name,age,number,enrolled):
    name = str()
    age = int()
    number = int()
    enrolled = bol()
    return '['+ 'number'+','+'name'+','+'age'+','+'enrolled'+']'

该代码应按如下方式工作:

>>> student_data("Vivian",32,"1234567",False)
`[1234567,Vivian,32,False]'
4

2 回答 2

0

最简单的解决方案是:

def student_data(name, age, number, enrolled):
    return str([name, age, number, enrolled])

输出是:

>>> student_data("Vivian",32,"1234567",False)
"['Vivian', 32, '1234567', False]"

如果'名称和号码周围有问题,您可以使用以下方法:

def student_data(name, age, number, enrolled):
    return '[' + ','.join([name, str(age), number, str(enrolled)]) + ']'

那么输出是:

>>> student_data("Vivian",32,"1234567",False)    
'[Vivian,32,1234567,False]'
于 2013-09-17T18:58:01.493 回答
0

这是您当前的功能:

def student_data(name,age,number,enrolled):
 name = str()
 age = int()
 number = int()
 enrolled = bol()
 return '['+ 'number'+','+'name'+','+'age'+','+'enrolled'+']'

它应该是:

def student_data(name,age,number,enrolled):
     return '['+str(number)+','+str(name)+','+str(age)+','+str(enrolled)+']'

在 Python 中,您不需要声明它们是 string 、 int 或 bool (即使您有,您当前的代码实际上会用空 string/int/bool 覆盖当前值)。但是,为了确保可以“添加”两个字符串(因为您不能将 str 转换为 bool、字符串转换为 int 等),请使用str(var)它将 var 转换为字符串。

由于数字、姓名、年龄和注册是变量,您不需要使用引号。

于 2013-09-17T19:02:07.923 回答