我对如何让我的项目在列表中看到几个字符看起来有点困惑。到目前为止,整个事情看起来像:
classes=input("Enter your classes: " )
def printsched(classes):
for n in classes:
print(n)
return len(classes)
printsched(classes)
print(printsched(classes))
当我以["GE0 101", "PSY 101", "GER 104"]
之类的形式输入课程时,我希望将其打印出来:
GEO 101
PSY 101
GER 104
见下文,看看它给了我什么。它将每个字符视为列表中的一个项目。我还需要它来返回列表中所有字符的值,所以在这个例子中,我希望它是21,但它给了我34.我怎么能解决它所以GEO 101和其他所有将是一个项目
[
"
G
E
0
1
0
1
"
,
"
P
S
Y
1
0
1
"
,
"
G
E
R
1
0
4
"
]
答案 0 :(得分:-1)
<强> [更新] 强>
使用ast.literal_eval()
代替危险eval()
(正如Francis Colas在评论中指出的那样)
import ast
classes=input("Enter your classes: " )
def printsched(classes):
classes = ast.literal_eval(classes)
for n in classes:
print(n)
return len(classes)
printsched(classes)
<强> [原文] 强>
我建议只使用 eval()
,如下所示:
classes=input("Enter your classes: " )
def printsched(classes):
classes = eval(classes)
for n in classes:
print(n)
return len(classes)
printsched(classes)