我正在编写代码,但在运行代码时出现内部错误,我认为错误在于错误的尝试...除了...行。 我想要实现的是,如果第一个函数中的if语句运行,则返回变量gecodeerd,如果else语句运行,则运行except语句。 代码:
def codeerLetter(letter,cijfer,taal):
"""
>>> italiaans = 'ABCDEFGHILMNOPQRSTUVZ'
>>> codeerLetter('M', 3, italiaans)
14
>>> latijns = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> codeerLetter('M', 3, latijns)
16
"""
while True:
try:
plaats = taal.index(letter) + 1
gecodeerd = plaats + cijfer
strgecodeerd = str(gecodeerd)
codeerLetter.strgecodeerd = strgecodeerd
if codeerLetter(letter,cijfer,taal):
return gecodeerd
break
else:
continue
except RuntimeError:
letter = letter.upper()
codeerLetter(letter,cijfer,taal)
def codeerWoord(woord,cijfer,taal):
"""
>>> italiaans = 'ABCDEFGHILMNOPQRSTUVZ'
>>> codeerWoord('Binnu', 3, italiaans)
512151522
>>> latijns = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> codeerWoord('Binnu', 3, latijns)
512171724
"""
lengte = len(woord)
gecodeerdwoord = ''
for i in range(lengte):
a = woord[i]
a.codeerWoord = a
codeerLetter(a,cijfer,taal)
gecodeerdwoord += codeerLetter.strgecodeerd
intgecodeerdwoord = int(gecodeerdwoord)
return(intgecodeerdwoord)
if __name__ == '__main__':
import doctest
doctest.testmod()