Wie konvertiere ich eine zufällige Telefonnummer aus einer Zahl in Wörter aus Wörterbüchern und wie wähle ich sie aus einem Text aus und konvertiere sie in Python?
Ich versuche, eine zufällige Telefonnummer mithilfe von Wörterbüchern mit dem folgenden Code in Wörter umzuwandeln:
dict_1 = {07: 'zero seven'}
dict_2 = {2: 'two', 3: 'three', 4: 'four', 5: 'five', 6: 'six', 7: 'seven', 8: 'eight'}
dict_3 = {0: 'zero', 1: 'one', 2: 'two', 3: 'three', 4: 'four', 5: 'five', 6: 'six', 7: 'seven', 8: 'eight', 9: 'nine'}
def main():
import re
no_tel = raw_input("Enter a phrase: ")
mat = re.search('(\d{10})', no_tel)
a_no = mat.group(0)
first_part = a_no[0:2]
second_part = a_no[2:3]
third_part = a_no[3:]
it_works = False
if dict_1.get(int(first_part)) != None:
a_print = dict_1.get(int(first_part))
it_works = True
else:
print "Error!"
if dict_2.get(int(second_part)) != None:
b_print = dict_2.get(int(second_part))
it_works = True
else:
print "Error!"
fourth_part = third_part[0]
fifth_part = third_part[1]
sixth_part = third_part[2]
seventh_part = third_part[3]
eighth_part = third_part[4]
ninth_part = third_part[5]
tenth_part = third_part[6]
if dict_3.get(int(fourth_part)) != None:
d_print = dict_3.get(int(fourth_part))
it_works = True
if dict_3.get(int(fifth_part)) != None:
e_print = dict_3.get(int(fifth_part))
it_works = True
if dict_3.get(int(sixth_part)) != None:
f_print = dict_3.get(int(sixth_part))
it_works = True
if dict_3.get(int(seventh_part)) != None:
g_print = dict_3.get(int(seventh_part))
it_works = True
if dict_3.get(int(eighth_part)) != None:
h_print = dict_3.get(int(eighth_part))
it_works = True
if dict_3.get(int(ninth_part)) != None:
i_print = dict_3.get(int(ninth_part))
it_works = True
if dict_3.get(int(tenth_part)) != None:
j_print = dict_3.get(int(tenth_part))
it_works = True
if it_works == True:
telephone = " ". join([a_print, b_print, d_print, e_print, f_print, g_print, h_print, i_print, j_print])
correct_no = re.sub ('(first_part)(second_part)(third_part)', telephone, no_tel)
print correct_no
else:
print "Error!"
if __name__ == '__main__':
main()
Nach dem Ausführen dieses Programms sollte die Ausgabe wie folgt aussehen:
Enter a phrase: My phone no is 0734123456
welche der obige Code konvertieren soll ->
My phone no is zero seven two three one two three four five six
oder jede andere Telefonnummer in diesem Format.
Auch wie kann der Code auf ein Dokument angewendet werden, das Telefonnummern enthält? Ich weiß nicht genau, wie es geht, lese aus dem Text und zeige dann den Inhalt mit den ersetzten Telefonnummern an, ich weiß es nicht.