2016-11-10 8 views
0

導入されたユーザー時間とHH:MM形式ではなく24時間HH:MM形式と一致させようとしています。HH:MM形式のユーザー紹介時刻の一致方法

ここマイルコード

def validateDate(date1, date2): 
try: 
    time_re = re.compile(r'^(1?[0-9]|2[0-3]):[0-5][0-9]$') 
    match(time_re, date1) 
    match(time_re, date2) 
except : 
    print "Datos o formato incorrecto, deberia ser hh:mm \n" 
+0

これは現在間違っていますか?あなたのプログラムを実行してどこが間違っているのでしょうか? – Hannu

答えて

0

はこの試してみてくださいです:そこにいくつかの問題があります

import re 

def validateDate(date1, date2): 
    try: 
     time_re = re.compile(r'^(0[0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$') 
     a=re.match(time_re, date1) 
     b=re.match(time_re, date2) 
     if a is None or b is None: 
      return False 
     else: 
      return True 

    except : 
     print "foo" 
     raise 

を。まず、あなたの正規表現は少し間違っていて、9時33分を要求する代わりに9時33分を許します。ただし、一致しない場合はre.matchは例外を発生しません。一致した場合はマッチグループを返し、一致しない場合はNoneを返します。

reを正しくインポートしていない可能性があるため、一般的な例外節がトリガーされている可能性があります。あなたの例外ハンドラにraiseを追加すると、実際にコンパイルやマッチが見つからないと不平を言うのがわかります。

これは、あなたが何をしているのかわからない場合は、Except:句を使用しないでください。なぜなら、コード内に構文上のエラーもまた捕らえてデバッグが難しくなるからです。

修正された関数は、date1とdate2の両方がOKの場合はTrueを返し、どちらかが間違っている場合はFalseを返します。お役に立てれば。

ハヌー