python中的.index()函数不起作用
我正在用python完成一项学校作业,其中用户必须以dd/mm/yyyy格式输入日期,我必须拆分每个部分(dd、mm、yyy)并将它们存储在列表中python中的.index()函数不起作用,python,string,Python,String,我正在用python完成一项学校作业,其中用户必须以dd/mm/yyyy格式输入日期,我必须拆分每个部分(dd、mm、yyy)并将它们存储在列表中 date = input("Enter a date in the following format 'dd/mm/yyyy: "); date = date+'/' def split(date): dates = [] i = 0 while i < len(date):
date = input("Enter a date in the following format 'dd/mm/yyyy: ");
date = date+'/'
def split(date):
dates = []
i = 0
while i < len(date):
x = date.index('/', i)
dates.append(date[i:x])
i = x
return dates
date=input(“输入以下格式的日期'dd/mm/yyyy:”);
日期=日期+'/'
def拆分(日期):
日期=[]
i=0
而我(日期):
x=日期索引('/',i)
日期。追加(日期[i:x])
i=x
返回日期
这是我使用的代码。我正在搜索字符串“date”中的字符“/”,然后从date中提取一个子字符串,并将其附加到列表日期中
显然,我的.index()函数没有像我希望的那样工作。是因为我不能将变量作为索引函数的参数传递吗?还是有其他问题
我知道index()函数是个问题,因为当我在迭代之后打印x的值时,x的值不会得到更新
这是我在排除故障后得到的输出i=0 x=2个日期=['12']
i=2x=2个日期=['12',''] 它继续进入一个无限循环
对此问题的任何帮助都将不胜感激:“)这是因为您的代码每次都会找到相同的实例
i = x + 1
别忘了处理那些找不到的部分。你听说过Python标准库中的
time
和datetime
模块吗?不知何故,我不认为这些是OP导师想要的。当然,当你学习了一些字符串方法时,这是微不足道的,但是你真的已经学习了一门以print'hello World'
开头的语言那么久了吗?我添加了语句I=x,它在每次迭代后都会理想地更新I的值。再次阅读我答案的第一句话。哦,是的,当然,我现在知道了,谢谢你,我以前在java中使用for循环做过这件事,但我忘了我以前在循环中有一个带有“i++”的update语句。由于java和python中循环的语法不同,我忘了合并这一部分。再次感谢您的帮助。我想我应该从现在开始使用Jython:')
from datetime import datetime
def date_split(date_input):
try:
date_obj = datetime.strptime(date_input, "%d/%m/%Y") # This line with validate input
except ValueError:
print "Please verify input format and range : ", date_input
return
else:
return [date_obj.day, date_obj.month, date_obj.year]
date = raw_input("Enter a date in the following format dd/mm/yyyy: ")
print date_split(str(date))