Форум сайта python.su
Набросал следующий код:
try:
filename = input(“Enter the path to the file: ”)
file = open(filename, “r”)
cont = file.read()
ru = “АаВЕеКМНОоРрСсТуХх”
en = “12BEeKMHOoPpCcTyXx”
total = 0
for c in cont:
if c in ru:
total += 1
ind = ru.index©
nc = en
print(nc)
cont.replace(c, nc)
part = str(round(total/len(cont), 2) * 100) + ‘%’
print(total, len(cont), part)
print(cont)
file.close()
except FileNotFoundError:
print(“The file is not found”)
except ZeroDivisionError:
print(“The file is empty”)
except:
print(“The erroe occured”)
Обнаружилось, что вроде всё работает, кроме метода replace. Что вместо него поставить или как его заставить работать?
Офлайн
> Что вместо него поставить или как его заставить работать?
Да всё очень просто:
>>> alfavit_ru = "АаВЕеКМНОоРрСсТуХх" >>> alfavit_en = "12BEeKMHOoPpCcTyXx" >>> trans = dict(zip(map(ord, alfavit_en), alfavit_ru)) >>> "12".translate(trans) 'Аа'
Отредактировано Rodegast (Июль 10, 2017 00:06:41)
Офлайн
RodegastСпасибо. Насчёт просто: к сожалению, кроме функции map я тут больше никаких других не узнал. Правда, я питон только с сололён учил, надеюсь, вышковский курс будет лучше.
translate(trans)
Офлайн
>>> ru = 'абвг' >>> en = 'abvg' >>> >>> 'абвгд'.translate(str.maketrans(ru, en)) 'abvgд' >>> >>>
Отредактировано py.user.next (Июль 10, 2017 03:20:34)
Офлайн