Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.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 tryexcept用于使用“拆分”-&引用;_Python_String_Input_Split_Try Except - Fatal编程技术网

Python tryexcept用于使用“拆分”-&引用;

Python tryexcept用于使用“拆分”-&引用;,python,string,input,split,try-except,Python,String,Input,Split,Try Except,我正在使用一个程序,在这个程序中,用户应该按格式键入时间 Visiting between 10-17 然后,我用split(“-”)拆分这个字符串,并创建一个包含我收到的两个字符串的列表,在本例中为“10”和“17” 现在我正在尝试修复,以便用户可以键入任何内容,循环仍将继续,直到用户以正确的格式键入时间。 例如,用户无法到达:weiosrfiowe或1000-1000等 这个try-except适用于所有,除了当我在输入的开始或开始处输入“-”时,如“-wehdriowe”它崩溃。这可能是

我正在使用一个程序,在这个程序中,用户应该按格式键入时间

Visiting between 10-17
然后,我用split(“-”)拆分这个字符串,并创建一个包含我收到的两个字符串的列表,在本例中为“10”和“17”

现在我正在尝试修复,以便用户可以键入
任何内容
,循环仍将继续,直到用户以正确的格式键入时间。 例如,用户
无法到达:
weiosrfiowe
1000-1000

这个try-except适用于所有
,除了当我在输入的开始或开始处输入“-”时,如“
-wehdriowe
”它崩溃。这可能是因为它找不到任何东西可以拆分为两个对象

现在我有了这样的东西:

while True:
    try:
    Time = Input(when you want to come)
    #the user puts in 10-17
    Timesplit = Time.split("-")
我如何安排我的代码,或者以一种更智能的方式进行,这样我的程序就不会崩溃? 谢谢

试试这个:

import re

found = False
while not found:
    time = raw_input("when you want to come")
    if re.match("^\d+-\d+$", time):
        found = True

你问错问题了。问题应该是“如果用户输入无效,如何验证用户输入并循环?”答案可能涉及异常处理,但考虑到问题有多简单(简单的字符串检查-听起来像正则表达式),这不太可能