Молодец, хорошо все сделал
Как ты это сделал? (МОЗГ прямо взрывается, всего 30% осталось завершить, жалко бросать...)
Я с твоей работой сверял. Я даже, исправил все, как у тебя. Но у меня не работает =(((
Что я не увидел - подскажи пожалуйста.
def check(number):
#if a < 100 or a > 999:
# return ["Это не трехзначное число"]
#else:
list_number=[]
list_name=["","тыс.","млн.","млрд."]
for i in range(len(list_name),-1,-1):
if number//(1000**i)>0 and number//(1000**i)<1000:
list_number.extend(get_str_num(calc(number//(1000**i)>0)))
list_number.append(list_name[i])
number=number%(1000**i)
return list_number
#get_str_num(calc(a)) - with last return
def get_hundred(nm):
dict={1:"сто",2:"двести",3:"триста",4:"четыреста",5:"пятьсот",6:"шестьсот",7:"семьсот",8:"восемьсот",9:"девятьсот",}
return dict[nm]
def get_str_num(list):
hundreds={0:"",1:"сто", 2:"двести", 3:"триста", 4:"четыресто", 5:"пятьсот", 6:"шестьсот", 7:"семьсот", 8:"восемьсот", 9:"девятьсот"}
tens={0:"",2:"двадцать", 3:"тридцать", 4:"сорок", 5:"пятьдесят", 6:"шестьдесят", 7:"семьдесят", 8:"восемьдесят", 9:"девяносто"}
ten={0:"десять", 1:"одиннадцать", 2:"двеннадцать", 3:"тринадцать", 4:"четырнадцать", 5:"пятнадцать", 6:"шестнадцать", 7:"семнадцать", 8:"весемьдадцать", 9:"девятнадцать"}
units={0:"", 1:"один", 2:"два", 3:"три", 4:"четыре", 5:"пять", 6:"шесть", 7:"семь", 8:"восемь", 9:"девять"}
if list[1]>=2:
str_list=[hundreds[list[0]],tens[list[1]],units[list[2]]]
elif list[1]==1:
str_list=[hundreds[list[0]],"",ten[list[2]]]
elif list[1]==0:
str_list=[hundreds[list[0]],"",units[list[2]]]
return str_list
def calc(number):
d3= number%10; # - еденицы
d2= number//10%10; # - десятки
d1= number//100%10; # - сотни
result = [d1,d2,d3]
return result
about=("The Python's bite","1.0.0","Konstantin")
print("Программа: ",about[0],"\nВерсия: ", about[1],"\nАвтор: ",about[2])
while True:
result_calc=[]
try:
number = int(input('введи число:'))
result_calc.extend(check(number))
#print("/nЧисло прописью:", get_str_num(calc(a)))
except KeyboardInterrupt:
break
except ValueError:
result_calc.append("Это не число, необходимо ввсети число!")
except Exception as exError:
result_calc.append("Ошибка выполнения программы: "+str(exError))
finally:
print(result_calc) #(временно закомментровано 11 урок)
#print()
Константин, я в этих уроках просто копировал код Валерия, ничего своего не добавлял. Думаю в твоем коде ошибка в функции check. Исправь свою строку на эту list_number.extend(get_str_num(calc(number//(1000**i))))
Спасибо тебе! А я уже начал "подгарать" - столько моментов не ладится + сейчас по два часа уходит на Английский (много пустых переговоров ). Внимание вообще разбросано по разным закаулкам души =) И развеяться некогда.