-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdz3.py
More file actions
73 lines (65 loc) · 4.09 KB
/
dz3.py
File metadata and controls
73 lines (65 loc) · 4.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# Задача 16: Требуется вычислить, сколько раз встречается некоторое число X в массиве A[1..N]. Пользователь
# в первой строке вводит натуральное число N – количество элементов в массиве. В последующих строках
# записаны N целых чисел Ai. Последняя строка содержит число X
# n = 5
# 1 2 3 4 5
# x = 3
# -> 1
N = abs(int(input("Введите количество элементов: ")))
A_entered = input("Введите через пробел элементы списка: ").split()
A_num = list(map(int, A_entered))
if len(A_num) != N:
print("Введенные элементы не соответствуют заявленному количеству!")
else:
X = int(input("Введите число X, которое необходимо найти в списке: "))
count = 0
for i in range(N):
if A_num[i] == X:
count += 1
print(f"Число {X} встречается в списке A {count} раз")
# Задача 18: Требуется найти в массиве A[1..N] самый близкий по величине элемент
# к заданному числу X. Пользователь в первой строке вводит натуральное число N – количество
# элементов в массиве. В последующих строках записаны N целых чисел Ai. Последняя строка содержит число X
# n = 5
# 1 2 3 4 5
# x = 6
# -> 5
N = abs(int(input('Введите количество элементов: ')))
A_entered = input("Введите через пробел элементы списка: ").split()
A_num = list(map(int, A_entered))
if len(A_num) != N or N == 0:
print('Введенные элементы не соответствуют заявленному количеству!')
else:
X = int(input('Введите число X, с которым необходимо сравнивать элементы списка: '))
min = abs(X - A_num[0])
index = 0
for i in range(1, N):
count = abs(X - A_num[i])
if count < min:
min = count
index = i
print(f'Число {A_num[index]} в списке A наиболее близко по величине к числу {X}, их разница составляет {abs(X - A_num[index])}')
#Задача 20: * В настольной игре Скрабл (Scrabble) каждая буква имеет определенную ценность.
# В случае с английским алфавитом очки распределяются так:
# A, E, I, O, U, L, N, S, T, R – 1 очко;D, G – 2 очка; B, C, M, P – 3 очка;
# F, H, V, W, Y – 4 очка; K – 5 очков; J, X – 8 очков; Q, Z – 10 очков.
# А русские буквы оцениваются так: А, В, Е, И, Н, О, Р, С, Т – 1 очко; Д, К, Л, М, П, У – 2 очка;
# Б, Г, Ё, Ь, Я – 3 очка; Й, Ы – 4 очка; Ж, З, Х, Ц, Ч – 5 очков; Ш, Э, Ю – 8 очков;
# Ф, Щ, Ъ – 10 очков.
# Напишите программу, которая вычисляет стоимость введенного пользователем слова.
# Будем считать, что на вход подается только одно слово, которое содержит либо только английские,
# либо только русские буквы.
list_letters = {1:"AEIOULNSTRАВЕИНОРСТ",
2:"DGДКЛМПУ",
3:"BCMPБГЁЬЯ",
4:"FHVWYЙЫ",
5:"KЖЗХЦЧ",
8:"JXШЭЮ",
10:"QZФЩЪ"}
word = input("Введите слово: ").upper()
summ = 0
for i in word:
for k, v in list_letters.items():
if i in v:
summ += k
print(f"Стоимость слова: {summ}")