СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Питон системасы менен конугуу иштоо

Категория: Математика

Нажмите, чтобы узнать подробности

ЖРТ га даярдануу

Просмотр содержимого документа
«Питон системасы менен конугуу иштоо»

Дан символ C. Вывести его код (то есть номер в кодовой таблице).


C = input('Please enter only one character: ')

print(ord(C))


String 2. Дано целое число N (32≤N≤126) вывести символ с кодом, равным N.


import random

N = random.randrange(32, 126)

print("N = ",N,"; Char: ",chr(N))

String 3. Дан символ C. Вывести два символа, первый из которых предшествует символу C в кодовой таблице, а второй следует за символом C.


import random

N = random.randrange(32, 126)
c = chr(N)
c_prev = chr(ord(c)-1)
c_next = chr(ord(c)+1)

print("Char: ",c)
print("Char prev.: ",c_prev)
print("Char next: ",c_next)


Дано целое число N (1≤N≤26) Вывести N первых прописных (то есть заглавных) букв латинского алфавита.


import random

N = random.randrange(1, 27)
print("N = ",N)
for i in range(N):
print(chr(ord('A')+i), end=" ")


Дано целое число N (1≤N≤26). Вывести N последних строчных (то есть маленьких) букв латинского алфавита в обратном порядке (начиная с буквы «z»).

import random

N = random.randrange(1, 27)
print("N = ",N)
for i in range(N):
print(chr(ord('z')-i), end=" ")



String 7. Дана непустая строка. Вывести коды ее первого и последнего символа.

import random

a=input("Введите предложение: ")
print(a)
print(a[::-1])



Дана строка. Вывести строку, содержащую те же символы, но расположенные в обратном порядке.


s = input("Enter the string:")
print(s)
print(s[::-1])




Дан символ C, изображающий цифру или букву (латинскую или русскую). Если C изображает цифру, то вывести строку «digit», если латинскую букву — вывести строку «lat», если русскую — вывести строку «rus».


import random

ru_letters = u"абвгдеёзийклмнопрстуфхъыьэАБВГДЕЁЗИЙКЛМНОПРСТУФХЪЫЬЭ"
en_letters = u"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
tj_letters = u"ғӣқӯҳҷҒӢҚӮҲҶ"
digits = u"0123456789"

letters = ru_letters + en_letters + tj_letters + digits

C = random.choice(letters)
print("Символ: ",C)
if ru_letters.find(C) != -1:
print("Russian")
elif en_letters.find(C) != -1:
print("Latin")
elif tj_letters.find(C) != -1:
print("Tajik")
elif digits.find(C) != -1:
print("Digit")


Дано целое число N ( 0) и символ C. Вывести строку длины N, которая состоит из символов C.


import random

ru_letters = u"абвгдеёзийклмнопрстуфхъыьэАБВГДЕЁЗИЙКЛМНОПРСТУФХЪЫЬЭ"
en_letters = u"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
tj_letters = u"ғӣқӯҳҷҒӢҚӮҲҶ"
digits = u"0123456789"

letters = ru_letters + en_letters + tj_letters + digits

N = random.randrange(1,15)
print("N: ",N)
C = random.choice(letters)
print("Символ: ",C)
s = str(C)*N
print("Строка: ",s)


String 9. Дано четное число N ( 0) и символы C1 и C2. Вывести строку длины N, которая состоит из чередующихся символов C1 и C2, начиная с C1.

import random

ru_letters = u"абвгдеёзийклмнопрстуфхъыьэАБВГДЕЁЗИЙКЛМНОПРСТУФХЪЫЬЭ"
en_letters = u"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
tj_letters = u"ғӣқӯҳҷҒӢҚӮҲҶ"
digits = u"0123456789"

letters = ru_letters + en_letters + tj_letters + digits

C1, C2 = random.sample(letters, 2)
print("Символ 1: ",C1)
print("Символ 2: ",C2)

N = random.randrange(2, 21, 2)
print("N: ",N)

s = (C1+C2)*int(N/2)
print("Строка: ",s)


String 11. Дана непустая строка S. Вывести строку, содержащую символы строки S, между которыми вставлено по одному пробелу.

s = "BINGO. Это тест"
print(" ".join(s))




String 12. Дана непустая строка S и целое число N ( 0). Вывести строку, содержащую символы строки S, между которыми вставлено по N символов «*» (звездочка).

import random

N = random.randrange(1,6)
s = "BINGO. Это тест"
print("String:",s)
print("N:",N)
x = "*"*N
print("Insert:",x)
print(x.join(s))


String 13. Дана строка. Подсчитать количество содержащихся в ней цифр.


import random
import string

ru_letters = u"абвгдеёзийклмнопрстуфхъыьэАБВГДЕЁЗИЙКЛМНОПРСТУФХЪЫЬЭ"
en_letters = u"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
tj_letters = u"ғӣқӯҳҷҒӢҚӮҲҶ"

N = random.randrange(1,10)
s_ru = random.sample(ru_letters, N)
print("RU:",s_ru)

N = random.randrange(1,10)
s_en = random.sample(en_letters, N)
print("EN:",s_en)

N = random.randrange(1,10)
s_tj = random.sample(tj_letters, N)
print("TJ:",s_tj)

N = random.randrange(1,10)
s_digit = random.sample(string.digits, N)
print("Digits:",s_digit)

s = s_ru + s_en + s_tj + s_digit + [' ',' ']
#print("Random:",s)
random.shuffle(s)
s = "".join(s)
print(s)

digits = sum(c.isdigit() for c in s)
print("Number of Digits:",digits)


String 14. Дана строка. Подсчитать количество содержащихся в ней прописных латинских букв.


import random
import string

ru_letters = u"абвгдеёзийклмнопрстуфхъыьэАБВГДЕЁЗИЙКЛМНОПРСТУФХЪЫЬЭ"
en_letters = u"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
tj_letters = u"ғӣқӯҳҷҒӢҚӮҲҶ"

en_Upper = u"ABCDEFGHIJKLMNOPQRSTUVWXYZ"

N = random.randrange(1,10)
s_ru = random.sample(ru_letters, N)
print("RU:",s_ru)

N = random.randrange(1,10)
s_en = random.sample(en_letters, N)
print("EN:",s_en)

N = random.randrange(1,10)
s_tj = random.sample(tj_letters, N)
print("TJ:",s_tj)

N = random.randrange(1,10)
s_digit = random.sample(string.digits, N)
print("Digits:",s_digit)

s = s_ru + s_en + s_tj + s_digit + [' ',' ']
#print("Random:",s)
random.shuffle(s)
s = "".join(s)
print(s)

k = 0
for c in s:
if c in en_Upper:
k += 1
print("Number of Upper Latin letters:",k)


String 15. Дана строка. Подсчитать общее количество содержащихся в ней строчных латинских и русских букв.


import random
import string

ru_letters = u"абвгдеёзийклмнопрстуфхъыьэАБВГДЕЁЗИЙКЛМНОПРСТУФХЪЫЬЭ"
en_letters = u"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
tj_letters = u"ғӣқӯҳҷҒӢҚӮҲҶ"

ru_Lower = u"абвгдеёзийклмнопрстуфхъыьэ"
en_Lower = u"abcdefghijklmnopqrstuvwxyz"

N = random.randrange(1,10)
s_ru = random.sample(ru_letters, N)
print("RU:",s_ru)

N = random.randrange(1,10)
s_en = random.sample(en_letters, N)
print("EN:",s_en)

N = random.randrange(1,10)
s_tj = random.sample(tj_letters, N)
print("TJ:",s_tj)

N = random.randrange(1,10)
s_digit = random.sample(string.digits, N)
print("Digits:",s_digit)

s = s_ru + s_en + s_tj + s_digit + [' ',' ']
#print("Random:",s)
random.shuffle(s)
s = "".join(s)
print(s)

k = 0
for c in s:
if (c in en_Lower) or (c in ru_Lower):
k += 1
print("Number of Lower Latin and Cyrillic letters:",k)


String 16. Дана строка. Преобразовать в ней все прописные латинские буквы в строчные.


import random
import string

ru_letters = u"абвгдеёзийклмнопрстуфхъыьэАБВГДЕЁЗИЙКЛМНОПРСТУФХЪЫЬЭ"
en_letters = u"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
tj_letters = u"ғӣқӯҳҷҒӢҚӮҲҶ"

en_Upper = u"ABCDEFGHIJKLMNOPQRSTUVWXYZ"

N = random.randrange(1,10)
s_ru = random.sample(ru_letters, N)
print("RU:",s_ru)

N = random.randrange(1,10)
s_en = random.sample(en_letters, N)
print("EN:",s_en)

N = random.randrange(1,10)
s_tj = random.sample(tj_letters, N)
print("TJ:",s_tj)

N = random.randrange(1,10)
s_digit = random.sample(string.digits, N)
print("Digits:",s_digit)

s = s_ru + s_en + s_tj + s_digit + [' ',' ']
#print("Random:",s)
random.shuffle(s)
s = "".join(s)
print(s)

s_new = ""
for c in s:
if c in en_Upper:
c = c.lower()
s_new += c
print(s_new)




String 17. Дана строка. Преобразовать в ней все строчные буквы (как латинские, так и русские) в прописные.


import random
import string

ru_letters = u"абвгдеёзийклмнопрстуфхъыьэАБВГДЕЁЗИЙКЛМНОПРСТУФХЪЫЬЭ"
en_letters = u"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
tj_letters = u"ғӣқӯҳҷҒӢҚӮҲҶ"

ru_Lower = u"абвгдеёзийклмнопрстуфхъыьэ"
en_Lower = u"abcdefghijklmnopqrstuvwxyz"

N = random.randrange(1,10)
s_ru = random.sample(ru_letters, N)
print("RU:",s_ru)

N = random.randrange(1,10)
s_en = random.sample(en_letters, N)
print("EN:",s_en)

N = random.randrange(1,10)
s_tj = random.sample(tj_letters, N)
print("TJ:",s_tj)

N = random.randrange(1,10)
s_digit = random.sample(string.digits, N)
print("Digits:",s_digit)

s = s_ru + s_en + s_tj + s_digit + [' ',' ']
#print("Random:",s)
random.shuffle(s)
s = "".join(s)
print(s)

s_new = ""
for c in s:
if (c in en_Lower) or (c in ru_Lower):
c = c.upper()
s_new += c
print(s_new)


String 18. Дана строка. Преобразовать в ней все строчные буквы (как латинские, так и русские) в прописные, а прописные — в строчные.

import random
import string

ru_letters = u"абвгдежзийклмнопрстуфхцчшщъыьэюяАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"
en_letters = u"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
tj_letters = u"ғӣқӯҳҷҒӢҚӮҲҶ"

ru_Lower = u"абвгдежзийклмнопрстуфхцчшщъыьэюя"
en_Lower = u"abcdefghijklmnopqrstuvwxyz"
ru_Upper = u"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"
en_Upper = u"ABCDEFGHIJKLMNOPQRSTUVWXYZ"

N = random.randrange(1,10)
s_ru = random.sample(ru_letters, N)
print("RU:",s_ru)

N = random.randrange(1,10)
s_en = random.sample(en_letters, N)
print("EN:",s_en)

N = random.randrange(1,10)
s_tj = random.sample(tj_letters, N)
print("TJ:",s_tj)

N = random.randrange(1,10)
s_digit = random.sample(string.digits, N)
print("Digits:",s_digit)

s = s_ru + s_en + s_tj + s_digit + [' ',' ']
#print("Random:",s)
random.shuffle(s)
s = "".join(s)
print(s)

s_new = ""
for c in s:
if (c in en_Lower) or (c in ru_Lower):
c = c.upper()
elif (c in en_Upper) or (c in ru_Upper):
c = c.lower()
s_new += c
print(s_new)


String 19. Дана строка. Если она представляет собой запись целого числа, то вывести 1, если вещественного (с дробной частью) — вывести 2; если строку нельзя преобразовать в число, то вывести 0. Считать, что дробная часть вещественного числа отделяется от его целой части десятичной точкой «.».

s = input("Enter the string: ")
print(s)

if '.' in s:
try:
x = float(s)
print("2. float:",x)
except:
print("0. Can't convert to float")
else:
try:
x = int(s)
print("1. int:",x)
except:
print("0. Can't convert to int")


String 20. Дано целое положительное число. Вывести символы, изображающие цифры этого числа (в порядке слева направо).


import random

N = random.randrange(1,1000000)
print("N = ",N)
s = list(str(N))
print(s)


String 21. Дано целое положительное число. Вывести символы, изображающие цифры этого числа (в порядке справа налево).


import random

N = random.randrange(1,1000000)
print("N = ",N)
s = list(str(N))
print(s[::-1])


String 22. Дана строка, изображающая целое положительное число. Вывести сумму цифр этого числа.


import random
import string

N = random.randrange(1,11)
s = ''.join(random.choice(string.digits) for x in range(N))
print("String:",s)
L = list(s)
print("List of char-s:",L)
L_int = list(map(int,L))
print("List of int-s:",L_int)
print("Sum of digits:",sum(L_int))


String 23. Дана строка, изображающая арифметическое выражение вида «±±±± ... ±±», где на месте знака операции «±±» находится символ «+» или «-» (например, «4+7-2-8»). Вывести значение данного выражения (целое число).

import random
import string
import numpy as np

def RndExpr():
N = random.randrange(2,11)
lst_digit = list(np.random.choice(list(string.digits), N))
lst_oper = list(np.random.choice(['+','-'], N-1))
result = [None]*(2*N - 1)
result[::2] = lst_digit
result[1::2] = lst_oper
return "".join(result)


for i in range(0,5):
s = RndExpr()
print()
print(s, "=" ,eval(s))
oper = s[1::2]
j = 0
result = int(s[0])
for x in oper:
digit = int(s[2*j+2])
if x == '+':
result += digit
else:
result -= digit
#print(s[2*j+2],x,result)
j += 1
#print(oper)
print(s, "=" ,result)


String 24. Дана строка, изображающая двоичную запись целого положительного числа. Вывести строку, изображающую десятичную запись этого же числа.


import random

def RndBinary():
N = random.randrange(1,11)
return ''.join(random.choice('01') for _ in range(N))

for i in range(0,5):
s_binary = RndBinary()
print()
print(s_binary, "=" ,int(s_binary, 2))
decimal = 0
for digit in s_binary:
decimal = decimal*2 + int(digit)
print(s_binary, "=" ,decimal)


String 25. Дана строка, изображающая десятичную запись целого положительного числа. Вывести строку, изображающую двоичную запись этого же числа.


import random

def int2bin(i):
if i == 0:
return "0"
s = ''
while i:
if i & 1 == 1:
s = "1" + s
else:
s = "0" + s
i = int(i/2)
return s

for i in range(0,5):
s_integer = str(random.randrange(1,100))
i_integer = int(s_integer)
print('{0} = {1:b}'.format(s_integer,i_integer))
print('{0} = {1}'.format(s_integer,int2bin(i_integer)))
print()


String 26. Дано целое число N ( 0) и строка S. Преобразовать строку S в строку длины N следующим образом: если длина строки S больше N, то отбросить первые символы, если длина строки S меньше N, то в ее начало добавить символы «.» (точка).


import random

ru_letters = u"абвгдежзийклмнопрстуфхцчшщъыьэюяАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"
en_letters = u"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
tj_letters = u"ғӣқӯҳҷҒӢҚӮҲҶ"
digits = u"0123456789"

letters = ru_letters + en_letters + tj_letters + digits

N = random.randrange(1,21)
K = random.randrange(1,21)
S = ''.join(random.choice(letters) for _ in range(K))
print("N:",N)
print("K:",K)
print("S:",S)

S_length = len(S)
print("Length of S:",S_length)

if S_length N:
x = S_length - N
S_new = S[x:]
#print(x,":",S[x:])
else:
x = N - S_length
S_new = '.'*x + S
#print(x,":",'.'*x,":",S)
print("\nNew S:",S_new)
print("Length of new S:",len(S_new))


String 27. Даны целые положительные числа N1 и N2 и строки S1 и S2. Получить из этих строк новую строку, содержащую первые N1 символов строки S1 и последние N2 символов строки S2 (в указанном порядке).


import random

ru_letters = u"абвгдежзийклмнопрстуфхцчшщъыьэюяАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"
en_letters = u"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
tj_letters = u"ғӣқӯҳҷҒӢҚӮҲҶ"
digits = u"0123456789"

letters = ru_letters + en_letters + tj_letters + digits

K1 = random.randrange(1,21)
N1 = random.randrange(1,K1+1)
S1 = ''.join(random.choice(letters) for _ in range(K1))
K2 = random.randrange(1,21)
N2 = random.randrange(1,K2+1)
S2 = ''.join(random.choice(letters) for _ in range(K2))

print("N1:",N1)
print("K1:",K1)
print("S1:",S1)

S1_length = len(S1)
print("Length of S1:",S1_length)

print()
print("N2:",N2)
print("K2:",K2)
print("S2:",S2)

S2_length = len(S2)
print("Length of S2:",S2_length)

S1_new = S1[:N1]
S1_new_length = len(S1_new)
print("\nNew S1:",S1_new)
print("Length of new S1:",S1_new_length)

S2_new = S2[-N2:]
S2_new_length = len(S2_new)
print("\nNew S2:",S2_new)
print("Length of new S2:",S2_new_length)
print("\nNew string:",S1_new+" "+S2_new)


String 28. Дан символ C и строка S. Удвоить каждое вхождение символа C в строку S.


import random

ru_letters = u"абвгдежзийклмнопрстуфхцчшщъыьэюяАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"
en_letters = u"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
tj_letters = u"ғӣқӯҳҷҒӢҚӮҲҶ"
digits = u"0123456789"

letters = ru_letters + en_letters + tj_letters + digits

K = random.randrange(1,21)
S = ''.join(random.choice(letters) for _ in range(K))
C = random.choice(S)

print("K:",K)
print("String:",S)
print("Character: ",C)

S_new = ""
for i in S:
if i == C:
S_new += i
S_new += i
print("New string:",S_new)


String 29. Дан символ C и строки S, S0. Перед каждым вхождением символа C в строку S вставить строку S0.


import random

ru_letters = u"абвгдежзийклмнопрстуфхцчшщъыьэюяАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"
en_letters = u"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
tj_letters = u"ғӣқӯҳҷҒӢҚӮҲҶ"
digits = u"0123456789"

letters = ru_letters + en_letters + tj_letters + digits

K = random.randrange(1,21)
S = ''.join(random.choice(letters) for _ in range(K))
C = random.choice(S)
S0 = '***'
print("K:",K)
print("String:",S)
print("S0:",S0)
print("Character: ",C)

S_new = ""
for i in S:
if i == C:
S_new += S0
S_new += i
print("New string:",S_new)


String 30. Дан символ C и строки S, S0. После каждого вхождения символа C в строку S вставить строку S0.


import random

ru_letters = u"абвгдежзийклмнопрстуфхцчшщъыьэюяАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"
en_letters = u"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
tj_letters = u"ғӣқӯҳҷҒӢҚӮҲҶ"
digits = u"0123456789"

letters = ru_letters + en_letters + tj_letters + digits

K = random.randrange(1,21)
S = ''.join(random.choice(letters) for _ in range(K))
C = random.choice(S)
S0 = '***'
print("K:",K)
print("String:",S)
print("S0:",S0)
print("Character: ",C)

S_new = ""
for i in S:
S_new += i
if i == C:
S_new += S0
print("New string:",S_new)


String 31. Даны строки S и S0. Проверить, содержится ли строка S0 в строке S. Если содержится, то вывести TRUE, если не содержится, то вывести FALSE.


import random

ru_letters = u"абвгдежзийклмнопрстуфхцчшщъыьэюяАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"
tj_letters = u"ғӣқӯҳҷҒӢҚӮҲҶ"

letters = ru_letters + tj_letters

K = random.randrange(2,21)
S = ''.join(random.choice(letters) for _ in range(K))
S0 = ''.join(random.sample(S, 2))

print("K:",K)
print("String:",S)
print("S0:",S0)

if S.find(S0) -1:
print(True)
else:
print(False)


String 32. Даны строки S и S0S0. Найти количество вхождений строки S0S0 в строку S.


import random
import re

ru_letters = u"абвгдежзийклмнопрстуфхцчшщъыьэюя"
tj_letters = u"ғӣқӯҳҷ"

letters = ru_letters + tj_letters

K = random.randrange(2,21)
S = ''.join(random.choice(letters) for _ in range(K))
print("K:",K)

I_end = random.randint(1,K)
I_start = random.randint(0,I_end)
print("I_start:",I_start)
print("I_end:",I_end)

S0 = S[I_start:I_end]
N = random.randrange(0,3)
print("N:",N)
for i in range(N):
S += S
print("String:",S)
print("S0:",S0)

for m in re.finditer(S0, S):
print('{0} found: {1} - {2}'.format(S0, m.start(), m.end()))