Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中的.index()函数不起作用_Python_String - Fatal编程技术网

python中的.index()函数不起作用

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):

我正在用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):
            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))