Статья Задачи по python

Tayrus

Tayrus

Grey Team
13.04.2017
360
731
Однако здравствуйте! Я решил дать вам некоторые задачи, они рассчитаны на начальный уровень. Возможно некоторые задачи вам покажутся "упоротыми", но кто его знает. Возможно я буду дополнять эту тему новыми задачами, если вы этого захотите(кстати напишите надо ли это делать в комментарии). К задачам будет прилагаться мое решение, смотрите его если решили задачу сами или когда совсем не можете решить. Если мое решение не совпадает с вашим это не значит что ваше решение неверное, главное что работает)
Моя версия python 2.7.15

Задача 1: Вывести букву "A" 100 раз. И потом проверить ее длину(ну а мало ли мы ошиблись))) )

Мое решение:
Код:
s = 'A' * 100
print s
print len(s)

Задача 2: Пользователь вводит трех значное число и мы его разделяем на 1 отдельно число
Пример 625 -> 6,2,5 | 589 -> 5,8,9

Мое решение:
Код:
num = raw_input('Enter: ')
print num[0]
print num[1]
print num[2]

Задача 3: Удаление дубликатов(одинаковых слов) из файлов

Мое решение:
Код:
handle = open('textt.txt','w')
handle.write('0000')
handle.write('\n')
handle.write('0000')
handle.write('\n')
handle.write('hello')
handle.write('\n')
handle.write('hello')
handle.write('\n')
handle.write('999')
handle.write('\n')
handle.write('999')
handle.write('\n')
handle.close()

file = open('textt.txt')
sli = []
for i in file:
if i not in sli:
sli.append(i)
file.close()
file = open('textt.txt','w')
for x in sli:
file.write(x)
file.close()

Задача 4: Получить внешний ip адресс

Мое решение:
Код:
import requests
url = 'http://ip-api.com/json/';
r = requests.get(url)
sl = r.text
dct = eval(sl)
dct['ip'] = dct.pop('query')
for i in dct:
print '------------'
print i,'=>',dct[i]

Задача 5: Протестировать код который я оставил ниже(Если вам нету 18 лет или вы принимаете все близко к сердцу, не смотрите)
Код:
import webbrowser
import base64
lau = 'aHR0cHM6Ly93d3cuZ29vZ2xlLnJ1L3NlYXJjaD9xPWdheStwb3JuJm5ld3dpbmRvdz0xJnNvdXJjZT1sbm1zJnRibT12aWQmc2E9WCZ2ZWQ9MGFoVUtFd2pxOEpmUXpvUGRBaFZNcG9zS0hiZ0dBbTBRX0FVSUN5Z0MmYml3PTE5MjAmYmloPTkxMw=='
data = base64.b64decode(lau)
webbrowser.open(data, new=2)
Задача 6: Даны цифры(cписок ниже), вытащить 1 и 9 число,перевести их в строковый тип, сложить их, получить корень получившегося числа, взять корень получившегося корня, найти все позиции числа в списке ниже(это то что получилось в корне(5))
Код:
6
17
600
7
2
7
8
32
25
13
9
5
531
153
153
153
154154
514
154
514
154
145
145
145
154
45
45
45
153
54
4
513
4145
5
114
153
35
1
13
153153153
135
51
153
15
351
15335
531
51
532
Мое решение:
Код:
import math
buf = []
good = '' #625
count = 0
count2 = 0
ls2 = []
handle = open('000.txt')
for x in handle:
    buf.append(x)
handle.close()

buf = map(lambda s: s.strip(),buf)

for x in buf:
    count+=1
    if count == 1:
        good+=x
    if count == 9:
        good+=x

good = int(good)
num = int(math.sqrt(good))
num2 = int(math.sqrt(num))

for x in buf:
    if str(num2) == x:
        ls2.append(count2)
    count2+=1
print 'Positions'
for x in ls2:
    print '-----'
    print x
    print '-----'
Код:
#powered by DINSEN
import math
handle=open('sann.txt')
a=handle.read()
j=a.split( )
i=0
k=0
u=0
for x in j:
    i+=1
    if i==1:
        k=x
    elif i==9:
        u=x

k=str(k)
u=str(u)
s=k+u
s=int(s)
s=math.sqrt(s)
s=math.sqrt(s)
s=int(s)
s=str(s)
i=0
b=0
for x in j:
    i+=1
    if x==s:
        b=i-1
        print(b)

Задача 7: Есть файл, в нем 4 слова через пробел, посчитать кол-во слов.

Мое решение:
Код:
handle=open('sann.txt')
a = handle.read()
print (a.split( ))
j=a.split( )
print(j)
i=0
for x in j:
    i+=1
print(i)
 
Последнее редактирование:
Азиз

Азиз

Happy New Year
30.05.2018
212
67
Интересно, но задачи рили для новичков, но потренировать свой мозг я смог!)
 
V

Valkiria

Отличная тема.
Отличное начинание ))
То, чего не хватает на форуме, да и вообще во всех многочисленных обучающих курсах ))
То, значение чего недооценено ))
Но, на мой взгляд, после этой темы не хватает поста типа:
Код:
Решите самостоятельно задачи.
Задача 1: Вывести букву "Z" 125 раз. И потом проверить ее длину(ну а мало ли мы ошиблись))) ) 
Объясните своё решение.

Задача 2.
*****
И так далее необходимо задать задачи, аналогичные тем, что приводятся в статье.
Это типа задания для закрепления полученных знаний.
Чтобы пользователи наслаждались НЕ ТОЛЬКО в режиме чтения.
Это необходимо.
 
Tayrus

Tayrus

Grey Team
13.04.2017
360
731
Задача 8: Есть файл, в нем цифры в строчку 112233445566778899, вывести двухзначные числа

Пример 112233 -> 11,22,33 и так далее.
Объясните своё решение.


Мое решение:
Код:
tmp = [] # Создаю список
tmp2 = []  # Создаю список 2
handle = open('000.txt')  # Открываю файл на чтение(по умолчанию права стоят на чтение)
for x in handle:  # Записываю текст файла в список tmp
    tmp.append(x) # Метод append(args) добавляет x в список
handle.close() # Закрываем файл

for x in tmp: # Перебираем список tmp
    tmp2.append(x[:2])  # Добавляем в список 2 срез из списка 1
    tmp2.append(x[2:4])
    tmp2.append(x[4:6])
    tmp2.append(x[6:8])
    tmp2.append(x[8:10])
    tmp2.append(x[10:12])
    tmp2.append(x[12:14])
    tmp2.append(x[14:16])
    tmp2.append(x[16:18])
for x in tmp2: # Перебираем список 2
    print x # Выводим его содержимое

Задача 9: Написать функцию, которая принимает неограниченное кол-во аргументов и выводи их в консоль.
Объясните своё решение.


Мое решение:
Код:
spisok = [1,2,3,4,5,6] # Создаем список
spisok2 = [7,8,9,10,11] # Создаем список 2

def somename(*args): # Создаем функцию которая принимает аргументы
    print args # Отображаем аргументы

somename(spisok,spisok2) # Вызываем функцию и передаем наши списки в качестве аргументов

Задача 10: Создайте словарь, занесите в него любые ключи с любыми значениями, отобразите ключ и значение
Объясните своё решение.


Мое решение:
Код:
dct = {'one':1,'two':2} # Создал словарь где есть ключ one с значением 1 и ключ two с значением 2

for x in dct: # Перебераю ключи в словаре
    print x, '=>', dct[x] # Отображаю ключ, отображаю значение ключа(dct[x] <- это отобразит ключ можете попробовать print dct['one'] это выведет значение ключа one)

Задача 11: Сделайте функцию, которая принимает одно число и определяет это число четное или нечетное.
Объясните своё решение.


Мое решение:
Код:
def chentost(number): # Создаем функцию которая принимает один аргумент
    if number % 2 == 0: # Если переданное число делется на 2 без остатка то отобразим четное
        print 'Chetnoe'
    else: # Иначе отобразим нечетное
        print 'Nechetnoe'

chentost(5) # Вызываем функцию и передаем ей число

Задача 12: Создайте переменную code со значением 100(создать не в функции!), теперь сделайте функцию которая принимает число и меняет переменную code на число, которое мы передаем в функцию и выводит в консоль(вывод не в функции)
Объясните своё решение.


Мое решение:
Код:
code = 100 # Создаю переменную

def add(num): # Создаю функцию, которая принимает один аргумент
    global code # Указываю, что надо использовать ГЛОБАЛЬНУЮ переменную code
    code = num # Меняю значение переменной code на аргумент функции

add(50) # Вызываю функцию

print code # Отображаю значение переменной code

Задача 13: Найдите ошибку в коде
Объясните своё решение.

Код:
Задачи по python



Мое решение:
Код:
code = 100

def add(num):
    global code <- тут я использовал <tab> чтобы сделать отступ
    code = num  <- тут я использовал <space> чтобы сделать отступ
#В python нельзя так делать, вы либо только <tab> делаете отступы, либо <space>, чем то одним
add(50)

print code
 
Последнее редактирование:
explorer

explorer

Red Team
05.08.2018
673
1 470
На степик есть курсы по питону, весьма занятные. Задачи порой угарные и были довольно непростыми порой для того объёма материала, что был подан.

:) Пример задачки:

Коля каждый день ложится спать ровно в полночь и недавно узнал,
что оптимальное время для его сна составляет X минут.
Коля хочет поставить себе будильник так, чтобы он прозвенел ровно через X минут после полуночи
, однако для этого необходимо указать время сигнала в формате часы, минуты.
Помогите Коле определить, на какое время завести будильник.
Часы и минуты в выводе программы должны располагаться на разных строках
Помните, что для считывания данных нужно вызывать функцию input без аргументов!

Sample Input 1:
480
Sample Output 1:
8
0
Sample Input 2:
512
Sample Output 2:
8
32

Python:
x=int(input())
y=x/60
a=x%60
print(int(y))
print(int(a))
 
  • Нравится
Реакции: alЬt и Tayrus
Мы в соцсетях:  ТелеграмВконтактеДзенФейсбукТвиттерЮтуб