Duri Denoth wrote: > Hello Tutor > > I have written a program that generates verb conjugations. > > There is a loop that generates the regular forms: > > for i in range(6): > present[i] = stem + worded_present_ar[i]
An alternative way to write this is present = [stem + suffix for suffix in worded_present_ar] > For irregular verbs the correct form is set individually: > > present[2] = stem + worded_present_rule_7[2] Does this mean that all forms but the 3rd person singular are regular? You could set up a dictionary irregular_forms = { "go": {2: "{}es"}, "be": {0: "am", 1: "are", 2: "is", ..., 5: "are"}, ... } present = ... # preload with regular forms if stem in irregular_forms: for numerus_person, template in irregular_forms[stem].items(): present[numerus_person] = template.format(stem) Use of format() instead of concatenation with '+' allows you to build forms that don't start with the stem. > This dosen't seem to me the best readable Python code. Is there any python > language feature more suitable for this problem? I don't think readability is the issue with your code; rather the problem is to cover all the irregularities of a natural language. _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor