diff --git a/1.py b/1.py new file mode 100644 index 0000000..8e58a55 --- /dev/null +++ b/1.py @@ -0,0 +1,13 @@ +'''1. Выяснить тип результата выражений: +15 * 3 +15 / 3 +15 // 2 +15 ** 2''' +a=15 * 3 +b = 15 / 3 +c = 15 // 2 +d = 15 ** 2 +print(f'{a} - {type(a)}') +print(f'{b} - {type(b)}') +print(f'{c} - {type(c)}') +print(f'{d} - {type(d)}') \ No newline at end of file diff --git a/2.py b/2.py new file mode 100644 index 0000000..eab2085 --- /dev/null +++ b/2.py @@ -0,0 +1,60 @@ +'''Дан список: +['в', '5', 'часов', '17', 'минут', 'температура', 'воздуха', 'была', '+5', 'градусов'] + +Необходимо его обработать — обособить каждое целое число (вещественные не трогаем) + кавычками (добавить кавычку до и кавычку после элемента списка, являющегося числом) + и дополнить нулём до двух целочисленных разрядов: +['в', '"', '05', '"', 'часов', '"', '17', '"', 'минут', 'температура', +'воздуха', 'была', '"', '+05', '"', 'градусов']''' + +li = ['в', '5', 'часов', '17', 'минут', 'температура', 'воздуха', 'была', '+5', 'градусов'] + +'''выполнение в лоб''' +# li.insert(1,'"') +# li.insert(3,'"') +# li.insert(5,'"') +# li.insert(7,'"') +# li.insert(12,'"') +# li.insert(14,'"') +# li[2] = '05' +# li[-3] = '+05' +# +# res_str = ' '.join(li) +# res_str = res_str.replace('" 05 "','"05"') +# res_str = res_str.replace('" 17 "','"17"') +# res_str = res_str.replace('" +05 "','"+05"') +# # print(res_str) # решение в лоб''' + +# 2-ой вариант +new_li = [] +for i in li: + if not i.isalpha(): # обособить каждое целое число кавычками можно сделать if j.isdigit() +for + new_li.append( '"') + if len(i) == 1: + new_li.append(f'0{i}') # дополнить нулём до двух целочисленных разрядов + elif "+" in i: # модифицировать это условие для чисел со знаком + new_li.append(f'{i[0]}0{i[1]}') # дополнить нулём до двух целочисленных разрядов + else: + new_li.append(i) + new_li.append( '"') + else: + new_li.append(i) +print(new_li) +print(len(new_li)) + +start = True +new_li2 = [] +for val in new_li: + if val == '"' and start: + new_li2.append(f'{val} ') + start = False + elif val == '"' and not start: + new_li2.append(f' {val}') + start = True + else: + new_li2.append(val) +res = ' '.join(new_li2) +res = res.replace(' ','') +print(f' {res}') # Сформировать из обработанного списка строку: + +# есть возможность сделать с помощью модуля re diff --git a/3.py b/3.py new file mode 100644 index 0000000..51d73e2 --- /dev/null +++ b/3.py @@ -0,0 +1,94 @@ +li = ['в', '5', 'часов', '17', 'минут', 'температура', 'воздуха', 'была', '+5', 'градусов'] + + + + + + +count=0 +for i in li: + if not i.isalpha(): + count+=3 + else: + count+=1 +len_update_li=count-len(li) +update_li=['' for _ in range(len_update_li)] +update_li.extend(li) # get len update li + +li=update_li + +def get_digit_str(num): + for num1,i in enumerate(li[num:]): + + if i.isalpha() and not i=='': + return True, i, num1 + elif not i.isalpha() and not i=='': + return False, i, num1 +not_count=0 +for num, i in enumerate(li): + if not_count руб коп +new_li_price=[] +for i in li_price: + rub,cop=i.split('.') + if len(cop) == 1: # как добавить нули, если, например, получилось 7 копеек или 0 копеек (должно быть 07 коп или 00 коп). + cop= f'0'+cop + elif len(cop) == 0: + cop='00' + price=f'{rub} руб {cop} коп' + new_li_price.append(price) +print(new_li_price) # цена должна отображаться в виде руб коп + +#Подумать, как из цены получить рубли и копейки + +for i in new_li_price: + i=i.split(' ') + rub=i[0] # get rub + cop= i[2] # get cop + +print(new_li_price) +new_li_price.sort() +print(new_li_price) # Вывести цены, отсортированные по возрастанию + +print(str(id(new_li_price))+' '+str(id(new_li_price))) # доказать, что объект списка после сортировки остался тот же + +# Создать новый список, содержащий те же цены, но отсортированные по убыванию +new_li_price2=new_li_price.copy() +new_li_price2.sort(reverse=True) # то же самое возможно [::-1] или .reverse() +print(new_li_price2) # revers sort + +# Вывести цены пяти самых дорогих товаров. +five_high_price=new_li_price2[:5] +print(five_high_price) + +#Сможете ли вывести цены этих товаров по возрастанию, написав минимум кода? +print(sorted(five_high_price)) #