123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247 |
- import random
- def game_guesse():
- x = random.randint(1, 101)
- print(x)
- print("Добро пожаловать в числовую угадайку")
- number = int(input())
- trys = 1
- while number:
- if is_valid(number) == False:
- print('А может быть все-таки введем целое число от 1 до 100?')
- number = int(input())
- trys += 1
- continue
- if number > x:
- print('Ваше число больше загаданного, попробуйте еще разок')
- elif number < x:
- print('Ваше число меньше загаданного, попробуйте еще разок')
- else:
- print('Вы угадали, поздравляем!')
- print(f'Число попыток: {trys}')
- print('Спасибо, что играли в числовую угадайку. Еще увидимся...')
- break
- number = int(input())
- trys += 1
- def is_valid(num):
- return 1 <= num <= 100
- def caesar_cipher_1(data: str, rot: int):
- RU_LEN = 32
- chipher_date = ''
- a = ord('а')
- A = ord('А')
- low_case_ch = [chr(x) for x in range(a, a + RU_LEN)]
- low_case = [x for x in range(a, a + RU_LEN)]
- up_case_ch = [chr(x) for x in range(A, A + RU_LEN)]
- up_case = [x for x in range(A, A + RU_LEN)]
- print(''.join(low_case_ch))
-
- if rot > 31:
- rot = rot%31
- for i in data:
- code = ord(i)
- if code in low_case:
- if rot > (low_case[-1] - code):
- chipher_date += chr(low_case[0] + rot - (low_case[-1] - code) - 1)
- else:
- chipher_date += chr(code + rot)
- elif code in up_case:
- if rot > (up_case[-1] - code):
- chipher_date += chr(up_case[0] + rot - (up_case[-1] - code) - 1)
- else:
- chipher_date += chr(code + rot)
-
- else:
- chipher_date += i
- return chipher_date
- def caesar_cipher_2(data: str, rot: int, lang='ru'):
- RU_LEN = 31
- EN_LEN = 25
- chipher_date = ''
- d = [chr(x) for x in range(ord('а'), ord('я') + 1)]
- ru_low_case = ''.join(d) * 2
- d = [chr(x) for x in range(ord('А'), ord('Я') + 1)]
- ru_up_case = ''.join(d) * 2
- d = [chr(x) for x in range(ord('a'), ord('z') + 1)]
- en_low_case = ''.join(d) * 2
- d = [chr(x) for x in range(ord('A'), ord('Z') + 1)]
- en_up_case = ''.join(d) * 2
- if lang == 'ru':
- if rot > RU_LEN:
- rot = rot%RU_LEN
- for i in data:
- if i in ru_low_case:
- chipher_date += ru_low_case[ru_low_case.index(i) + rot]
- elif i in ru_up_case:
- chipher_date += ru_up_case[ru_up_case.index(i) + rot]
- else:
- chipher_date += i
- elif lang == 'en':
- if rot > EN_LEN:
- rot = rot%EN_LEN
- for i in data:
- if i in en_low_case:
- chipher_date += en_low_case[en_low_case.index(i) + rot]
- elif i in en_up_case:
- chipher_date += en_up_case[en_up_case.index(i) + rot]
- else:
- chipher_date += i
- else:
- return '-1'
-
- return chipher_date
- def caesar_recipher_2(data: str, rot: int, lang='ru'):
- RU_LEN = 31
- EN_LEN = 25
- chipher_date = ''
- d = [chr(x) for x in range(ord('а'), ord('я') + 1)]
- ru_low_case = ''.join(d) * 2
- d = [chr(x) for x in range(ord('А'), ord('Я') + 1)]
- ru_up_case = ''.join(d) * 2
- d = [chr(x) for x in range(ord('a'), ord('z') + 1)]
- en_low_case = ''.join(d) * 2
- d = [chr(x) for x in range(ord('A'), ord('Z') + 1)]
- en_up_case = ''.join(d) * 2
- if lang == 'ru':
- if rot > RU_LEN:
- rot = rot%RU_LEN
- for i in data:
- if i in ru_low_case:
- chipher_date += ru_low_case[ru_low_case.index(i) - rot]
- elif i in ru_up_case:
- chipher_date += ru_up_case[ru_up_case.index(i) - rot]
- else:
- chipher_date += i
- elif lang == 'en':
- if rot > EN_LEN:
- rot = rot%EN_LEN
- for i in data:
- if i in en_low_case:
- chipher_date += en_low_case[en_low_case.index(i) - rot]
- elif i in en_up_case:
- chipher_date += en_up_case[en_up_case.index(i) - rot]
- else:
- chipher_date += i
- else:
- return '-1'
-
- return chipher_date
- def length(data: str):
- ret = 0
- for i in data:
- if i.isalpha():
- ret += 1
- return len([x for x in data if x.isalpha()])
-
- def caesar_cipher_test(data: str):
- l = data.split()
- ret = ''
- for sim in l:
- rot = length(sim)
- for i in sim:
- ret += caesar_cipher_2(i, rot, 'en')
- ret += ' '
- return ret
- def test(num):
- bin_num = bin(num)
- oct_num = oct(num)
- hex_num = hex(num)
- print(bin_num[2:])
- print(oct_num[2:])
- print(hex_num[2:])
- def my_range_gen(*args):
- if len(args) == 1:
- cnt = 0
- while cnt != args[0]:
- yield cnt
- cnt += 1
- elif len(args) == 2:
- cnt = args[0]
- while cnt < args[1]:
- yield cnt
- cnt += 1
- elif len(args) == 3:
- if args[2] > 0:
- cnt = args[0]
- while cnt < args[1]:
- yield cnt
- cnt += args[2]
- elif args[2] == 0:
- return
- else:
- cnt = args[0]
- while cnt > args[1]:
- yield cnt
- cnt += args[2]
- for i in my_range_gen(8):
- print(i)
-
|