# 切片第1个标点符号之前的话
z ='''
什么是教育?让具有相当程度的思想可塑性的人类接收并接受一定的信息。
什么是驯服?将野生动物通过各种手段,使其习惯和人类一起生存——通过温和或者强制的手段。
什么是自由?我也不知道。
即使是自由主义者,大概也不会同意让婴幼儿随意使用精神药物。
即使是专制主义者,大概也不会同意思想道德完全由教育塑造。
'''
# print 打印
'''
什么是教育?
什么是驯服?
什么是自由?
即使是自由主义者,
即使是专制主义者,
'''
#!/usr/bin/nve python
# coding: utf-8
import re
# 切片第1个标点符号之前的话
z ='''
什么是教育?让具有相当程度的思想可塑性的人类接收并接受一定的信息。
什么是驯服?将野生动物通过各种手段,使其习惯和人类一起生存——通过温和或者强制的手段。
什么是自由?我也不知道。
即使是自由主义者,大概也不会同意让婴幼儿随意使用精神药物。
即使是专制主义者,大概也不会同意思想道德完全由教育塑造。
'''
lines = z[1:-1].split('\n')
flags = [re.findall(r'\W', i)[0] for i in lines]
result = [line.split(y)[0]+y for line,y in zip(lines, flags)]
print('\n'.join(result))
你确定理解什么是切片吗
z[:6]就是你要的问号之前的文字
如果你不确定标点在哪,你需要正则匹配,re.find
import re
strs = z.split("\n")
for s in strs:
s = s.strip()
if s:
index = re.finditer('[?,]', s).__next__().span()[1]
print(s[:index])