-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathHW_5_strings.py
183 lines (128 loc) · 5.16 KB
/
HW_5_strings.py
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
import random
import string
import re
# 1. Підрахувати середню довжину слова у введеному реченні.
sentence = str(input("Enter text - "))
space_count = 1
for letter in sentence:
if letter == " ":
space_count += 1
av_word_len = (len(sentence) + 1 - space_count) / (space_count)
print("Середня довжина слова в реченні становить ", end="")
print(av_word_len)
# 2. Підрахувати, скільки разів певне слово міститься в рядку тексту.
text_string = str(input("Enter text - "))
wanted_word = str(input("Enter wanted word - "))
count_word = text_string.count(wanted_word)
if count_word > 0:
print("Дане слово зустрічається в реченні стільнки разів")
print(count_word)
else: print("Дане слово не зустрічається в реченні")
# 3. Напишіть програму, яка генерує пароль вказаної довжини.
pass_lenth = int(input("Введіть довжину пароля "))
genrated_password = ""
x = 0
while x < pass_lenth:
genrated_password += random.choice(string.ascii_letters + string.digits + string.punctuation)
x +=1
print("Згенерований пароль:")
print(genrated_password)
# 4. Визначити, яка буква в тексті зустрічається найчастіше.
text_task4 = str(input("Enter text - "))
text_task4 = text_task4.lower()
#припустимо що найчастіше зустрічається перша літера
letter_max = text_task4[0]
count_max = text_task4.count(letter_max)
n=0
#порівнюємо з наступною і заміняємо в разі необхідності
while n < len(text_task4):
if text_task4.count(text_task4[n]) > count_max:
letter_max = text_task4[n]
count_max = text_task4.count(text_task4[n])
n += 1
print("найчастіше зустрічається:")
print(letter_max)
print("у кількості:")
print(count_max)
# 5. Написати програму, яка перевіряє коректність email, вказаного з клавіатури.
pattern = r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b'
email = input("enter email ")
if re.match(pattern, email):
print("Email введений правильно ")
else:
print("Email введений не правильно ")
# 6. Написати програму, яка підраховує кількість:
# слів,
# голосних
# приголосних
# знаків пунктуації,
# цифр
# інших символів.
# Урахувати, що між словами (а також до і після слів) може бути більше одного пробілу.
# Приклад виводу програми:
# Загалом символів у рядку тексту – 38, з них:
# Слів – 6
# Голосних літер - 12
# Приголосних літер - 21
# Знаків пунктуації - 2
# Цифр – 0
# Інших символів – 3
text = input("Введіть текст: ")
# Ініціалізуємо лічильники
words_count = 0
golosni_count = 0
prigol_count = 0
punct_count = 0
digits_count = 0
others_count = 0
golosni = "аоуиієяює"
punct = ".,:;!?"
for letter in text:
if letter.isalpha():
words_count += 1
if letter.lower() in golosni:
golosni_count += 1
elif letter.lower() in punct:
punct_count += 1
else:
prigol_count += 1
elif letter.isdigit():
digits_count += 1
elif letter.isspace():
continue
else:
others_count += 1
print("Кількість слів:", words_count)
print("Кількість голосних:", golosni_count)
print("Кількість приголосних:", prigol_count)
print("Кількість знаків пунктуації:", punct_count)
print("Кількість цифр:", digits_count)
print("Кількість інших символів:", others_count)
# 7. Напишіть програму, яка буде друкувати ромбоподібний малюнок
# на основі введеного рядка (максимальна довжина – 50 символів).
# Приклад виводу, якщо рядок «testing»:
# t
# te
# tes
# test
# testi
# testin
# testing
# esting
# sting
# ting
# ing
# ng
# g
text7 = input("Введіть текст: ")
space = " "
if len(text7) <= 50:
#верхня частина
for n in range(1, len(text7) + 1):
print(space * (len(text7) - n), end="")
print(text7[-n:])
#нижня частина
for i in range(1, len(text7) + 1):
print(text7[:(len(text7) - i)])
else:
print("Рядок дуже довгий")