Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

hw2 #2

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open

hw2 #2

wants to merge 4 commits into from

Conversation

Mybono
Copy link
Owner

@Mybono Mybono commented Jun 23, 2021

#1. Создать список и заполнить его элементами различных типов данных.

Реализовать скрипт проверки типа данных каждого элемента.

Использовать функцию type() для проверки типа.

Элементы списка можно не запрашивать у пользователя, а указать явно, в программе

li = [55,
's',
[1,2],
{1: 'one'},
(),
bool(),
bytes(),
bytearray(),
(None),
]
for i in li:
print(type(i))

# 2. Для списка реализовать обмен значений соседних элементов, т.е.

Значениями обмениваются элементы с индексами 0 и 1, 2 и 3 и т.д.

При нечетном количестве элементов последний сохранить на своем месте.

Для заполнения списка элементов необходимо использовать функцию input().

копируем цифры ниже:

1 2 3 4 5 6 7 8 9

lst = input("Введите элементы списка через пробел: ").split()
for i in range(len(lst) // 2):
lst[2i], lst[2i + 1] = lst[2i + 1], lst[2i]
for index, item in enumerate(lst, start=1):
print('index: ', index, ' Element: ', item)

# 3. Пользователь вводит месяц в виде целого числа от 1 до 12.

Сообщить к какому времени года относится месяц (зима, весна, лето, осень).

Напишите решения через list и через dict.

while True:
seasons = {
'Зима': [1, 2, 12],
'Весна': [3, 4, 5],
'Лето': [6, 7, 8],
'Осень': [9, 10, 11]
}
m = int(input('Введите месяц: '))
if m <= 0 or m > 12:
print("error")
for key in seasons.keys():
if m in seasons[key]:
print(key.title())
break

4. Пользователь вводит строку из нескольких слов, разделённых пробелами.

Вывести каждое слово с новой строки. Строки необходимо пронумеровать.

Если в слово длинное, выводить только первые 10 букв в слове.

слова для проверки:

1234567891011 qwe

new = []
while True:
lst = ['Абракадабра', 'qwe']
# lst = input("Для выхода stop ").split()
if lst == 'stop':
break
# for i in lst:
# print(len(lst))
# for i in range(len(lst()):
# if i > 10:
# new.extend(i)
#не понимаю как цикл for связать со срезом [0:11]
for index, item in enumerate(new, start=1):
print(index, item.title())

5. Реализовать структуру «Рейтинг», представляющую собой не возрастающий набор натуральных чисел.

У пользователя необходимо запрашивать новый элемент рейтинга. Если в рейтинге существуют элементы

с одинаковыми значениями, то новый элемент с тем же значением должен разместиться после них.

Подсказка. Например, набор натуральных чисел: 7, 5, 3, 3, 2.

Пользователь ввел число 3. Результат: 7, 5, 3, 3, 3, 2.

Пользователь ввел число 8. Результат: 8, 7, 5, 3, 3, 2.

Пользователь ввел число 1. Результат: 7, 5, 3, 3, 2, 1.

Набор натуральных чисел можно задать непосредственно в коде, например, my_list = [7, 5, 3, 3, 2].

while True:
lst = [7, 5, 3, 3, 2]
n = int(input('exit - 99: \n'))
if n == 99:
break
for i in lst:
if i <= n:
lst.insert(i, n)
# # lst = lst.count(i)
# if n >= i:
# lst.insert(i-1, n)
# # if i <= n:
# # lst.insert(i - 1, n)
print('Updated list:', lst)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant