# # Дано температуру вивести агретаний стан (<0 - лід, 0 - все складно, 1-99 - вода, 100+ - газ)
def temperature_func (temperature_f):
if temperature_f < 0:
type = 'ice'
elif temperature_f == 0:
type = 'difficult to say'
elif temperature_f > 0 and temperature_f <99:
type = 'water'
else:
type='gas'
return type
# # перепроверка
def check_input_type (input_f): # как правильно сделать перепроверку значений которые вводятся?
if input_f.isnumeric():
type = 'num'
else:
type = 'str'
return type
def main():
while True:
try:
temperature = int(raw_input('Enter the temperature: '))
except:
print 'The temperature must be numeric'
else:
break
type = temperature_func(temperature)
print 'Type is ', type
# Дано 3 числа, вевести їх в порядку зростання
while True:
try:
num1 = int(raw_input('Enter the first value: '))
except:
print 'The value must be numeric'
else:
break
while True:
try:
num2 = int(raw_input('Enter the second value: '))
except:
print 'The value must be numeric'
else:
break
while True:
try:
num3 = int(raw_input('Enter the third value: '))
except:
print 'The value must be numeric'
else:
break
array_nums =[]
array_nums.append(num1)
array_nums.append(num2)
array_nums.append(num3)
array_nums.sort()
print 'Sorted array: ', array_nums
# Дано рядок, вивести його довжину
string_l = len(str(raw_input('Enter the string: ')))
print 'String len: ', string_l
# Дано рядок з більш ніж 10 символів, вивести його без перших 2 і останніх 3х символів
while True:
try:
string_10 = raw_input('Enter the string (10+ symbols) value: ') ##and len(string_10)>9
except:
print 'The string must contains more than 9 symbols'
else:
break
print 'String without first 2 and last 3 symbols: ', string_10[2:-3]
# Дано рядок, замінити всі літери І на 1, а О на 0
string_before_repl = raw_input('Enter the string with I or O: ')
string_after_repl_I = string_before_repl.replace("I", "1")
string_after_repl_O = string_after_repl_I.replace("O", "0")
print 'String without "I" and "O": ', string_after_repl_O
# Дано дані (ім'я та вік) побудувати привітання за шаблоном
while True:
try:
age = int(raw_input('Enter AGE: ')) ##and len(string_10)>9
except:
print 'The age must by numeric'
else:
break
name = raw_input('Enter name: ')
print 'Dear ', name, ' we are happy to congratulate you with your ', age, ' birtday '
#дано список чисел - сформувати словник де кожному числу відповідає кілікість раз це число зустрічається у списку
array_1 = [6, 5, 3, 5, 9, 5, 4, 4, 3, 2, 7, 3, 6, 7, 2]
array_1_num = {}
array_1_all_indexs={}
array_1_max_index = {}
array_1_len = len(array_1)
for i in range(0, array_1_len-1):
#кілікість раз це число зустрічається у списку
array_1_num_count=array_1.count(array_1[i])
array_1_num.update({array_1[i]:array_1_num_count})
#список індексів на яких воно зустрічається
array_1_index_pos_list = []
array_1_index_pos=0
while True:
try:
array_1_index_pos = array_1.index(array_1[i], array_1_index_pos)
array_1_index_pos_list.append(array_1_index_pos)
array_1_index_pos += 1
except:
break
return array_1_index_pos_list
array_1_all_indexs.update({array_1[i]: array_1_index_pos_list})
array_1_max_index.update({array_1[i]: max(array_1_index_pos_list)})
print 'Array: ', array_1, ' New array (how many times each element appears): ', array_1_num
# - дано список чисел - сформувати словник де кожному числу відповідає останній індекс входження такого числа
print 'Array: ', array_1, ' New array (each element and indexes): ', array_1_all_indexs
# - дано список чисел - сформувати словник де кожному числу відповідає список індексів на яких воно зустрічається
print 'Array: ', array_1, ' New array (each element and max index): ', array_1_max_index
# - дано список рядків - сформувати список словників де кожен словник - це символ - кількість входжень
array_2=["abracadabra", "somethingnewforus", "testandtestagain"]
array_2_num = []
array_2_len = len(array_2)
for i in range(0, array_2_len):
sub_array_2_array_2_num = {}
array_2_num.append(sub_array_2_array_2_num)
sub_array_2=list(array_2[i])
sub_array_2_len = len(sub_array_2)
for j in range(0, sub_array_2_len):
# кілікість раз це число зустрічається у списку
sub_array_2_count = sub_array_2.count(sub_array_2[j])
sub_array_2_array_2_num.update({sub_array_2[j]: sub_array_2_count})
#print 'Array sub: ', sub_array_2_array_2_num
print 'Array: ', array_2, ' New array (how many times each element appears): ', array_2_num
# - дано два словника ключ-число - додати ці словники (якщо ключ зустрічається в обох - то значення додати, інакше - ключ-значення)
dictionary_3={2: 8, 5: 11, 7: 3, 1: 5, 45: 14}
dictionary_4={3: 13, 5: 10, 8: 2, 1: 3, 45: 8, 4: 14}
print 'Dictionary 1: ', dictionary_3, ' Dictionary 2: ', dictionary_4
dictionary=[]
dictionary.append(dictionary_3)
dictionary.append(dictionary_4)
dictionary_sum = {}
for d in dictionary:
for k in d.keys():
dictionary_sum[k] = dictionary_sum.get(k, 0) + d[k]
print 'Sum of dictionaries: ', dictionary_sum
# - дано два списки слів - повернути список слів, які зустрічаються в першому списку частіше ніж у другому
dictionary_5=["q", "qq", "w", "w", "ww", "as"]
dictionary_6=["a", "q", "qq", "qq", "ww"]
# не понятно что делать(
# - знайти кількість елементів в масиві
array_8= [1, 3, 5, 6]
print 'Array: ', array_8, 'Array number of elements: ', len(array_8)
# - знайти кількість елементів в масиві рівних даному
array_9 = [1, 2, 1, 2, 1, 3]
element_9 = 2
element_9_num=0
for i in range (0, len(array_9)-1):
if array_9[i] == element_9:
element_9_num+=1
print 'Array: ', array_9, ' Element: ', element_9, ' Number of element ', element_9, ' in the array:', element_9_num
# - дано список чисел - знайти суму всіх елементів
array_10 = [1, 3, 5, 6, 8]
print 'Array: ', array_10, ' Sum of elements: ', sum(array_10)
# - дано список чисел - знайти максимум елементів
array_11 =[1, 3, 5, 6, 8]
print 'Array: ', array_11, ' Max of elements: ', max(array_11)
# - дано список чисел - знайти середнє значення елементів масивів
#print 'Array: ', array_11, ' Mean of elements: ', mean(array_10)
# - дано список чисел - сформувати рядок де всі ці числа записані через прогалену
string_from_array=''
array_12=[]
array_11_mul_2=[]
multiples_a_11_7 = 'false'
negative_element_array_11 ='false'
for i in range (0, len(array_11)):
string_from_array=string_from_array+str(array_11[i])
if i%2 == 0:
elem=array_11[i]*2
array_12.append(elem)
else:
elem = array_11[i]*3
array_12.append(elem)
if array_11[i]%7 == 0:
multiples_a_11_7= 'true'
if array_11[i]%2 == 0:
array_11_mul_2.append(array_11[i])
if array_11[i] < 0:
negative_element_array_11= 'true'
print 'Array: ', array_11, ' String from the elements: ', string_from_array
# - дано список чисел - сформувати список де елементи на парних позиціях перемножені на 2 а на не парних на 3
print 'Array: ', array_11, ' Elements on paired units multiplied by 2 and not on paired units by 3', array_12
# - дано список чисел - перевірити чи всі елементи кратні 7
array_12=[7, 0, 14, 210]
multiples_a_12_7 = 'false'
for i in range(0, len(array_12)):
if array_12[i]%7 == 0:
multiples_a_12_7= 'true'
print 'Array: ', array_11, ' Elements multiplied by 7?:', multiples_a_11_7
print 'Array: ', array_12, ' Elements multiplied by 7?:', multiples_a_12_7
# - дано спиоск чисел - перевірити чи є в ньому від'ємний елемент
array_13=[1, 3, -5, 6, 8]
negative_element_array_13='false'
for i in range(0, len(array_13) - 1):
if array_13[i] < 0:
negative_element_array_13 = 'true'
print 'Array: ', array_11, ' Is negative element in the array:', negative_element_array_11
print 'Array: ', array_13, ' Is negative element in the array::', negative_element_array_13
# - дано список чисел - сформувати список з попереднього де видалені всі парні числа
print 'Array: ', array_11, ' Elements that are multiples of 2:', array_11_mul_2
# - дано текст (рядок) - розбити його на слова
string_1= 'quick brown fox jumps over the lazy dog'
string_1_splited=[]
string_1_splited = string_1.split(' ')
print 'Taxt: ', string_1, ' Splited text:', string_1_splited
# - дано список - повернути його частину починаючи з 5того елементу
array_14 =[1, 3, 5, 6, 8, 7, 12, 1111, 19]
print 'Array:', array_14, 'Array from the 5th element: ', array_14[5:]
# - дано список - повернути його частипу без 1шого і останнього елментів словники (dict)
print 'Array:', array_14, 'Array without 1th and last element: ', array_14[1:-1]
main()