• Мая 14, 2021, 06:22:28 am
• Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
Новости: на нашем Telegram канале: https://t.me/progkievua

Автор Тема: Python start 16.03.2021  (Прочитано 800 раз)

Стрігін Данило

  • Пользователи
  • *
  • Сообщений: 4
    • Просмотр профиля
    • E-mail
Re: Python start 16.03.2021
« Ответ #90 : Апреля 06, 2021, 08:25:03 pm »
5 лекция 1 задание
программа для подсчета нечетных цифр
i=[0,5,2,4,7,1,3,19]


x = 0
for element in i:
    if element %2 != 0:
        x = x+element
        print(x)
       

5.2
было->[1,4,7,2]
стало->[1,4,7,2,2,8,14,4]
a=[3,8,14,9]
b=[]
for i in a:
    i=i*2
    b.append(i)
a.extend(b)
print (a)
5.3
12 случайных чисел от 7500 до 15000 и вычислить зарплату рабочего за месяц.
import random

a = [random.randint(7500, 15000) for i in range (1, 13)]

b = sum(a) / 12

print (a)
print ("average salary: " + str(b))


Art.

  • Пользователи
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Python start 16.03.2021
« Ответ #91 : Апреля 06, 2021, 09:59:18 pm »
Используя словарь, напишите программу, которая выведет на экран название дня
недели по его номеру. (1 - «Monday»)


a = {"1":"Monday", "2":"Tuesday", "3":"Wednesday", "4":"Thursday", "5":"Friday", "6":"Saturday", "7":"Sunday"}
b = input ("Input text: ")

print (a.get(b))




Alexander Ts

  • Преподаватели
  • Пользователи
  • *
  • Сообщений: 14797
    • Просмотр профиля
    • E-mail
Re: Python start 16.03.2021
« Ответ #92 : Апреля 07, 2021, 05:11:34 pm »
Art.
Решение верное

Oleksandr Berdak
Решение верное

Тема Стрелок
Решение верное

ArtemBorodach
Решение верное

Savvabo
Задание 5.
Печаль. Поиск максимума путем сортировки???

Уровень 2.
Задание 1. Не верно.

Например:
vovas_str = 'abaaba'
И программа дает ответ a, что не верно. Так как Вовочка повторял слово aba
В остальном решение верное

Стрігін Данило
Решение верное

Savvabo

  • Пользователи
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Python start 16.03.2021
« Ответ #93 : Апреля 09, 2021, 05:41:51 pm »
# 1
# Используя словарь, напишите программу, которая выведет на экран название дня недели по его номеру. (1 - «Monday»)
day_number = int(input('Please, enter the day number: '))
dict_of_weekend = {1: 'Monday', 2: 'Tuesday', 3: 'Wednesday', 4: 'Thursday', 5: 'Friday', 6: 'Saturday', 7: 'Sunday'}
for k, v in dict_of_weekend.items():
    if k == day_number:
        print(v)

# 2
# Представьте описание кота (домашнее животное) на основе словаря
my_beloved_puhlyash = {'name': 'Lёva', 'age': 8, 'colour': 'light brown', 'breed': 'eastern european',
                       'photo': 'https://drive.google.com/file/d/15OP4KctLErZN0wF2l5OCau9_EUAygZ5v/view?usp=sharing'}


# 3
# Ввести с клавиатуры число (до миллиарда), которое обозначает количество долларов и центов пользователя.
# Вывести это количество прописью.
# Например:
# How much money do you have?
# 123,34
# You have: one hundred twenty three dollars thirty four cents
arabic_number = input('Please, enter a number from one to billion: ')
amount_dict = {1000000000: 'billion',
               1000000: 'million',
               1000: 'thousand',
               100: 'hundred',
               90: 'ninety',
               80: 'eighty',
               70: 'seventy',
               60: 'sixty',
               50: 'fifty',
               40: 'forty',
               30: 'thirty',
               20: 'twenty',
               19: 'nineteen',
               18: 'eighteen',
               17: 'seventeen',
               16: 'sixteen',
               15: 'fifteen',
               14: 'fourteen',
               13: 'thirteen',
               12: 'twelve',
               11: 'eleven',
               10: 'ten',
               9: 'nine',
               8: 'eight',
               7: 'seven',
               6: 'six',
               5: 'five',
               4: 'four',
               3: 'three',
               2: 'two',
               1: 'one'}

repeatable = {1000000000: 'billion',
              1000000: 'million',
              1000: 'thousand',
              100: 'hundred'}


def get_number_string(translated_num):
    string = []
    for k, v in amount_dict.items():
        count = translated_num // k
        if count:
            if count not in amount_dict or count in repeatable.keys():
                string_count = get_number_string(count)
            else:
                string_count = amount_dict[count]
            if v in repeatable.values():
                string.append(string_count)
            string.append(v)
            translated_num -= k * count
    return ' '.join(string)


try:
    print(get_number_string(int(arabic_number.split(',')[0])), 'dollars',
          get_number_string(int(arabic_number.split(',')[1][:2])), 'cents')
except IndexError:
    print(get_number_string(int(arabic_number.split(',')[0])), 'dollars')

# 4
# Напишите программу, которая переведет целое число (от 1 до 100) в римские цифры.
# Подробнее: https://en.wikipedia.org/wiki/Roman_numerals
arabic_number = int(input('Please, enter an arabic number from 1 to 100: '))
roman = {'M': 1000, 'CM': 900, 'D': 500, 'CD': 400, 'C': 100, 'XC': 90, 'L': 50, 'XL': 40, 'X': 10, 'IX': 9, 'V': 5,
         'IV': 4, 'I': 1}

roman_number = []
for r_name, r_value in roman.items():
    quotient, arabic_number = arabic_number // r_value, arabic_number % r_value
    roman_number.append(r_name * quotient)
print(''.join(roman_number))

Стрігін Данило

  • Пользователи
  • *
  • Сообщений: 4
    • Просмотр профиля
    • E-mail
Re: Python start 16.03.2021
« Ответ #94 : Апреля 09, 2021, 06:23:55 pm »
лекция 7 задание 1
Напишите программу, которая посчитает сколько букв «b» в введенной строке
текста.
a = input("Input text: ")

b = 0

for i in a:
    if i == "b":
        b = b + 1

print (b)

7.2
Считайте строку, которая будет представлять имя человека, введенное с
клавиатуры. Проверьте эту строку на валидность. Имеется в виду, что например, в
имени человека не может быть цифр, оно должно начинаться с большой буквы, за
которой должны следовать маленькие.
name = str(input(" Enter your name: "))

alt_name = name.title()

a = 0

for element in name:
    if element.isdigit():
         print(" In names, numbers cannot be ")
if name == alt_name:
    print(" Hello, ", name)
else:
    print("EROR")
7.3
Напишите программу, которая вычислит сумму всех кодов символов строки.
text = str(input(" Enter text: "))

syma = 0
for word in text:
    syma = ord(word) + syma
print(syma)
7.5
Вводится строка из слов, разделенных пробелами. Найти самое длинное слово и
вывести его на экран.
text = str(input("Enter text: "))

a =  text.split(" ")

b = a[0]
for element in a:
    if len(b) < len(element):
        b = element

print(b)

Oleksandr Berdak

  • Пользователи
  • *
  • Сообщений: 11
    • Просмотр профиля
    • E-mail
Re: Python start 16.03.2021
« Ответ #95 : Апреля 09, 2021, 06:26:18 pm »
домашние задание лекция №8

---------------------------------1-------------------------------------

# -- Используя словарь, напишите программу, которая выведет на экран название дня
#    недели по его номеру. (1 - «Monday»)




day = int(input(" Введите день недели, а я вам ввыдеу на экран день недели: "))

week = {1:"Понедельник",
        2:"Вторник",
        3:"Среда",
        4:"Четверг",
        5:"Пятница",
        6:"Субота",
        7:"Воскресенье"
        }

for element in week:
    if element is day:
        print(" Ваш день недели", week.get(element))
    else:
        print(" Такого дня нидели нету ")
        break

------------------------------2---------------------------------------------

# -- Представьте описание кота (домашнее животное) на основе словаря.


cat = {"name":"Титак",
       "age":"9",
       "breed": "Мэнкс",
       "body":"Чёрный, белый и оранжевый",
       "eyes":"зелёные"
}

print(" Ещё год назад я мечтаk о коте, и вот уже он стоит в метре от меня. Его зовут" ,cat.get("name"),". Мне его привезли прямком из США. Ему уже ", cat.get("age"), " лет. Он очень красивый совим цветом его шерсть таких цаетов как:" , cat.get("body"), ", а цвет глаз его" , c

------------------------------------3-------------------------------------

# -- Напишите программу которая считает строку текста с клавиатуры и выведет на
#    экран статистику, сколько раз какая буква встречается в этой строке. Например,
#    для строки «Hello world» эта статистика выглядит, как: «H» - 1 , «e» - 1, «l» - 3 и т. д.


text = str(input(" Введите текст что бы показал сколько букв в этом тексте: "))

slovar = {}

text = text.lower()

for worb in text:
    if worb.isalpha():
        plus = slovar.get(worb)
        if plus is None:
            slovar[worb] = 1
        else:
            slovar[worb] = plus + 1
print(slovar)

Домашняя роботв №9

-------------------------------------------1-------------------------------------

# -- Напишите программу, которая считает две строки текста с клавиатуры и выведет
#    на экран буквы, которые есть одновременно и в первой, и во второй строке.
#    Например, для строк «Hello» и «World» на экране должны быть буквы «l» и «o».



f_text = input(" Введите первую строку: ")
s_text = input(" Введите вторую строку: ")

f_text = set(f_text)
s_text = set(s_text)

clear = {}

clear = set(clear)

doubls = f_text.intersection(s_text)

for element in doubls:
    clear.add(element)

print(clear)

------------------------------------------------------------------------------------------ :) :)

Art.

  • Пользователи
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Python start 16.03.2021
« Ответ #96 : Апреля 09, 2021, 11:03:39 pm »
Напишите функцию, которая вернет максимальное число из списка чисел.
def func (a):
    b = a[0]
    for i in a:
        if i > b:
            b = i
    return (b)


c = func([5, 10, 20, 30, 50])
print (c)

Реализуйте функцию, параметрами которой являются - два числа и строка.
Возвращает она конкатенацию строки с суммой чисел.

def func (s, a, b):
    x = int(a) + int (b)
    x = s + " " + str(x)
    return (x)


c = func("Hello World", 7, 6)

print (c)

Реализуйте функцию рисующую на экране прямоугольник из звездочек «*». Ее
параметрами будут целые числа, которые описывают длину и ширину такого
прямоугольника.

def func(x, y):
    i = 1
    c = y - 2
    while i <= x:
        if i == 1 or i == x:
            print('* ' * y)
        else:
            print('* ' + '  ' * c + '*')
        i = i + 1


a = int(input("Write x: "))
b = int(input("Write y: "))

c = func(a, b)

Напишите функцию, которая реализует линейный поиск элемента в списке целых
чисел. Если такой элемент в списке есть, то верните его индекс, если нет, то
верните число «-1».

def func (x):
    if a in list1:
        x = list1.index(a)
        return (x)
    else:
        x = - 1
        return (x)


list1 = [5, 10, 15, 20, 30]

a = int((input ("Write number: ")))

print (func (a))

Напишите функцию, которая вернет количество слов в строке текста.
def func (x):
    x = x.split (" ")
    y = 0
    for i in x:
        y = y + 1
    return (y)


a = func(input ("Write text: "))
print (a)

Alexander Ts

  • Преподаватели
  • Пользователи
  • *
  • Сообщений: 14797
    • Просмотр профиля
    • E-mail
Re: Python start 16.03.2021
« Ответ #97 : Апреля 09, 2021, 11:24:46 pm »
Savvabo
Продвинутый уровень.

Задание 1. Не верно
Например
Please, enter a number from one to billion: 1,5
one dollars five cents

А центов 50

В остальном решение верное

Стрігін Данило
Решение верное

Oleksandr Berdak
Решение верное

Art.
Решение верное

Sergey_Runchev

  • Пользователи
  • *
  • Сообщений: 26
    • Просмотр профиля
    • E-mail
Re: Python start 16.03.2021
« Ответ #98 : Апреля 11, 2021, 08:37:10 pm »
# Используя словарь, напишите программу, которая выведет на экран название дня
# недели по его номеру. (1 - «Monday»)
i = int(input("Введите число от 1 до 7: "))
week = {1: "Monday", 2: "Tuesday", 3: "Wednesday", 4: "Thursday", 5: "Friday", 6: "Saturday", 7: 'Sunday'}
print('Этой цифре соответствует -', week.get(i))

Sergey_Runchev

  • Пользователи
  • *
  • Сообщений: 26
    • Просмотр профиля
    • E-mail
Re: Python start 16.03.2021
« Ответ #99 : Апреля 11, 2021, 08:46:36 pm »
# Представьте описание кота (домашнее животное) на основе словаря
cat = {"name": "Bony", "color": "Grey", "age": "12", "cat_breed": "Scottish"}
print('У меня живет кот по имени', cat.get("name"),". Ему уже", cat.get("age"), " лет. Порода кота ", cat.get("cat_breed"), ".")

Sergey_Runchev

  • Пользователи
  • *
  • Сообщений: 26
    • Просмотр профиля
    • E-mail
Re: Python start 16.03.2021
« Ответ #100 : Апреля 11, 2021, 08:47:41 pm »
# Напишите программу которая считает строку текста с клавиатуры и выведет на
# экран статистику, сколько раз какая буква встречается в этой строке. Например,
# для строки «Hello world» эта статистика выглядит, как: «H» - 1 , «e» - 1, «l» - 3 и т. д.
text = input("Введите любой текст: ")

stat = {}  # имя пустого словаря

for s in text:
    if s.isalpha():  # содержит ли строка только буквы
        n = stat.get(s)  # получение элемента по ключу
        if n is not None:
            stat = n + 1
        else:
            stat = 1
print(stat)
« Последнее редактирование: Апреля 11, 2021, 09:39:36 pm от Sergey_Runchev »

Oleksandr Berdak

  • Пользователи
  • *
  • Сообщений: 11
    • Просмотр профиля
    • E-mail
Re: Python start 16.03.2021
« Ответ #101 : Апреля 12, 2021, 03:29:45 pm »
домашние задание №10

----------------------------------------1---------------------------------------

# -- Напишите функцию, которая вернет максимальное число из списка чисел

import random

def most(numberr):
    height = indx
    for element in list_one:
        if element > height:
            height = element
    return height
           
list_one = []
numberr = []

for number in range(1,11):
    list_one.append(random.randint(1,100))
print(list_one)

indx = list_one[0]

height = most(numberr)

print(height)

--------------------------------------------2--------------------------------

# -- Реализуйте функцию, параметрами которой являются - два числа и строка.
#    Возвращает она конкатенацию строки с суммой чисел.

def concat(stroka, f_number, s_number):
    summa = f_number + s_number
    setx = {

    }
    setx = set(setx)
    setx.add(stroka)
    setx.add(summa)
    return setx


stroka = "Hello world"
f_number = 17
s_number = 24

end = concat(stroka, f_number, s_number)

print(end)

---------------------------------------3-------------------------------------


# -- Реализуйте функцию рисующую на экране прямоугольник из звездочек «*». Ее
#    параметрами будут целые числа, которые описывают длину и ширину такого
#    прямоугольника.


def size(a , b):
    i = 1
    while i <= a:
        j = 1
        while j <= b:
            if i == 1 or i == a:
                print("*  ", end = ' ')
            elif j == 1 or j == b:
                print("*  ", end = ' ')
            else:
                print("   ", end = ' ')
            j = j + 1
        print()
        i = i + 1
    return size
       
a = 13
b = 7

objects = size(a , b)
 
--------------------------------4-------------------------------------------

не нашёл видео про линейныйе сторки

---------------------------------5------------------------------------------


# -- Напишите функцию, которая вернет количество слов в строке текста


def trys(text):
    new_text = text.split(" ")
    new_text = list(new_text)
    n = 0
    for worb in new_text:
        n += 1
    n -= 1
    return n

text = input(" Напишите что-либо: ")

howe = trys(text)

print(howe)

---------------------------------------------------------------------------------


Alexander Ts

  • Преподаватели
  • Пользователи
  • *
  • Сообщений: 14797
    • Просмотр профиля
    • E-mail
Re: Python start 16.03.2021
« Ответ #102 : Апреля 13, 2021, 12:11:25 pm »
Sergey_Runchev и Oleksandr Berdak

Используйте тег code для оформления кода решения. Ваше решение же даже проверить не возможно из за того, что форум искажает его.

ArtemBorodach

  • Пользователи
  • *
  • Сообщений: 15
    • Просмотр профиля
    • E-mail
Re: Python start 16.03.2021
« Ответ #103 : Апреля 13, 2021, 05:32:56 pm »
функция которая вернет максимальное число из списка

def m_list(x):
    return max(x)

a=[32,4,25,6,17,49,15]
b=m_list(a)
print(b)

конкатенация двух чисел и строки

def concat(x,y,z):
    return x+str(y+z)

print("Введите текст")
a=input()
print("введите число 1:")
b=float(input())
print('Введите число 2:')
c=float(input())

d=concat(a+" ",b,c)

print(d)


прямоугольник

def pr(x,y):
    for i in range(0,x):
        for i in range(0,y-1):
            print('*',end=" ")
        print('*')       
print('Введите высоту прямоугольника :')
a=int(input())
print('Введите ширину прямугольника :')
b=int(input())

pr(a,b)
print()

линейный поиск элемента

def ind(x,y):
    for i in range(len(x)):
        if x[i]==y:
            print("Индекс элемента =:", end=" ")
            return i
    return -1   
       
a=[20,10,15,2,50,20,11]

print('Введите значение элемента :')
b=int(input())
print(ind(a,b))


количество слов в строке

def kol(tex):
    c=list(b.split(" "))
    a=list(filter(None,c))
    print('Количество слов в строке = ',len(a))
   

print('Введите текст :')
b=input()
kol(b)





Savvabo

  • Пользователи
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Python start 16.03.2021
« Ответ #104 : Апреля 13, 2021, 06:20:30 pm »
# 1
# Напишите функцию, которая вернет максимальное число из списка чисел
def get_max_number(list_numbers):
    # with max()
    # max_number = max(list_numbers)
    max_number = list_numbers[0]
    for number in list_numbers:
        if max_number < number:
            max_number = number
    return max_number


result = get_max_number([99, 5, 7, 9, 0, 88])
print(result)



# 2
# Реализуйте функцию, параметрами которой являются - два числа и строка.
# Возвращает она конкатенацию строки с суммой чисел.
def string_plus_sum(first_num, second_num, given_string):
    num_sum = first_num + second_num
    result = str(num_sum) + given_string
    return result


result = string_plus_sum(99, 5, '7, 9, 0, 88]')
print(result)



# 3
# Реализуйте функцию рисующую на экране прямоугольник из звездочек «*». Ее
# параметрами будут целые числа, которые описывают длину и ширину такого
# прямоугольника.
def print_rectangle(width, height):
    # with for
    row = 0
    for i in range(1, height):
        row = width * '* '
        print(row)
    i = 1
    # with while
    # row = 0
    # while i < height:
    #     row = width * '* '
    #     print(row)
    #     i += 1
    return row


result = print_rectangle(10, 5)
print(result)



# 4
# Напишите функцию, которая реализует линейный поиск элемента в списке целых
# чисел. Если такой элемент в списке есть, то верните его индекс, если нет, то
# верните число «-1».
def find_element(element):
    given_list = [99, 5, 7, 9, 0, 88]
    result = 0
    for i in given_list:
        if i == element:
            result = given_list.index(i)
            break
        else:
            result = -1
    return result


result = find_element(5)
print(result)


# 5
# Напишите функцию, которая вернет количество слов в строке текста.
def count_words(given_string):
    words_list = given_string.split(' ')
    words_amount = len(words_list)
    return words_amount


result = count_words('kjb iiugiug iuhiu iugiugiu')
print(result)



# 6
# Существуют такие последовательности чисел: 0,2,4,6,8,10,12
# 1,4,7,10,13
# 1,2,4,8,16,32
# 1,3,9,27
# 1,4,9,16,25
# 1,8,27,64,125
# Реализуйте программу, которая выведет следующий член этой последовательности (либо подобной им) на экран.
# Последовательность пользователь вводит с клавиатуры в виде строки. Например, пользователь вводит строку
# 0,5,10,15,20,25 и ответом программы должно быть число 30.


def is_sequence_pow(given_sequence):
    for pow_sequence in range(2, 10):
        pow_list = [idx ** pow_sequence for idx in range(1, len(given_sequence) + 1)]
        if pow_list == given_sequence:
            return pow_sequence


def is_sequence_ari(given_sequence):
    differences = []
    for idx, elem in enumerate(given_sequence[:-1]):
        differences.append(given_sequence[idx + 1] - elem)
    return differences[0] == sum(differences) / len(differences)


def is_sequence_geo(given_sequence):
    differences = []
    for idx, elem in enumerate(given_sequence[:-1]):
        differences.append(given_sequence[idx + 1] / elem)
    return differences[0] == sum(differences) / len(differences)


def is_sequence(given_sequence):
    pow = is_sequence_pow(given_sequence)
    is_ari = is_sequence_ari(given_sequence)
    is_geo = is_sequence_geo(given_sequence)
    if pow:
        return (len(given_sequence) + 1) ** pow
    elif is_ari:
        return given_sequence[-1] + (given_sequence[-1] - given_sequence[-2])
    elif is_geo:
        return int(given_sequence[-1] * (given_sequence[-1] / given_sequence[-2]))
    else:
        print('Not a sequence')


print(is_sequence([1, 3, 9, 27]))



# 7
# Число-палиндром с обеих сторон (справа налево и слева направо) читается одинаково. Самое большое число-палиндром,
# полученное умножением двух двузначных чисел: 9009 = 91 × 99. Найдите самый большой палиндром,
# полученный умножением двух трехзначных чисел. Выведите значение этого палиндрома и то,
# произведением каких чисел он является.
def is_palindrome(number):
    pal_list = list(str(number))
    if pal_list == pal_list[::-1]:
        return number


def max_palindrome_from_three_digit():
    palindrome_list = []
    for i in range(900, 1000):
        for j in range(900, 1000):
            number = i * j
            if number == is_palindrome(number):
                palindrome_list.append(number)
    return max(palindrome_list)


result = max_palindrome_from_three_digit()
print(result)