s="150230,刘江,交通;170203,周永,信管;170201,林洋,信管;160315,何东,机械;150227,章斌,交通;160305,符扬,机械;150216,祁东,交通;170110,邱凯,信管" l.split(";") name=input("请输入想要查询的学生姓名:") for i in l[1::3]: if name in i: print("学号{},专业{}".format(i[0],i[2]) break
时间: 2024-01-06 11:03:26 浏览: 114
这段代码存在语法错误。首先,变量 `l` 没有被定义,应该将字符串 `s` 赋值给变量 `l`。其次,`l.split(";")` 返回的是一个列表,应该将其赋值给变量 `l`。代码还缺少一个冒号和一个缩进。另外,循环中的索引应该是 `l[::3]` 而不是 `l[1::3]`,因为学号在每个子字符串的第一个位置。
下面是修改后的代码:
```python
s = "150230,刘江,交通;170203,周永,信管;170201,林洋,信管;160315,何东,机械;150227,章斌,交通;160305,符扬,机械;150216,祁东,交通;170110,邱凯,信管"
l = s.split(";")
name = input("请输入想要查询的学生姓名:")
for i in l[::3]:
if name in i:
print("学号{},专业{}".format(i[0:6], i[7:]))
break
```
运行示例:
```
请输入想要查询的学生姓名:祁东
学号150216,专业交通
```
相关问题
将这个字符转换成列表s = "150230,刘江,交通;170203,周永,信管;170201,林洋,信管;160315,何东,机械;150227,章斌,交通;160305,符扬,机械;150216,祁东,交通;170110,邱凯,信管"
s = "150230,刘江,交通;170203,周永,信管;170201,林洋,信管;160315,何东,机械;150227,章斌,交通;160305,符扬,机械;150216,祁东,交通;170110,邱凯,信管"
lst = s.split(";")
result = []
for item in lst:
temp = item.split(",")
result.append(temp)
print(result)
s="150230,刘江,交通;170203,周永,信管;170201,林洋,信管;160315,何东,机械;150227,章斌,交通;160305,符扬,机械;150216,祁东,交通;170110,邱凯,信管" l=s.split() name=input("请输入想要查询的学生姓名:",) for a in l: str(a) if name==a: print("该学生选课成功") else: print("该学生选课失败")
代码存在一些错误,应该修改为以下形式:
```
s = "150230,刘江,交通;170203,周永,信管;170201,林洋,信管;160315,何东,机械;150227,章斌,交通;160305,符扬,机械;150216,祁东,交通;170110,邱凯,信管"
l = s.split(";")
name = input("请输入想要查询的学生姓名:")
for a in l:
if name in a:
print("该学生选课成功")
break
else:
print("该学生选课失败")
```
修改后,代码可以正确地判断输入的学生姓名是否在选课列表中。
阅读全文