Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 23, 2018 01:04:03

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Вопросы от новичков.

Наилучший вариант pip а не эти модули.



Офлайн

#2 Янв. 23, 2018 19:43:02

LanaBond
Зарегистрирован: 2017-10-24
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопросы от новичков.

как сделать функцию возведения в степень быстрее

def quick_power(x, n):
if n == 0:
return 1
elif n == 1:
return x
elif n == 2:
return x * x
elif n % 2 != 0:
return x * quick_power(x, n - 1)
elif n % 2 == 0:
return quick_power(x, n // 2) * quick_power(x, n // 2)


x = int(input())
n = int(input())
print(quick_power(x, n))

Офлайн

#3 Янв. 24, 2018 00:53:25

Alina0612
Зарегистрирован: 2018-01-24
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопросы от новичков.

Дорогие форумчане! Помогите пожалуйста, очень надо:mad Нужно разобраться в данном коде. я понимаю часть кода, а последнюю часть не понимаю и когда код компилируешь это часть не отрабатывается. Вот данная часть (ниже код полностью)
to_be = to_be - gap_dec * dt
as_is = as_is + intens * dt
t = t + dt

 #!/usr/bin/env python
# -*- coding: utf-8 -*-
dt = 0.01;
eps = 10;
start_plan = 100000;
start_real = 10000;
to_be = start_plan;
as_is = start_real;[code][code python][/code][/code]
t = 0
while(1):
	print "-----------------------------"
	gap = to_be - as_is
	if(abs(gap) <= eps):
		break;
	gap_dec = 0.1 * gap
	print "TIME: %s"%t
	print "\tGAP: %s"%gap
	print "\tTO BE: %s"%to_be
	print "\tAS IS: %s"%as_is
	print " GAP DEC: %s"%gap_dec
	intens = 0.02 * gap
	print " INTENS: %s"%intens
	to_be = to_be - gap_dec * dt
	as_is = as_is + intens * dt
	t = t + dt

Офлайн

#4 Янв. 24, 2018 09:06:04

Brain
Зарегистрирован: 2016-05-22
Сообщения: 49
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопросы от новичков.

Alina0612
Дорогие форумчане! Помогите пожалуйста, очень над

Тут не пайтон у вас как будто. )) Так работает:

 dt = 0.01
eps = 10
start_plan = 100000
start_real = 10000
to_be = start_plan
as_is = start_real
t = 0
while(1):
    print("-----------------------------")
    gap = to_be - as_is
    if(abs(gap) <= eps):
        break
    gap_dec = 0.1 * gap
    print('TIME: %s' %t)
    print("\tGAP: %s" %gap)
    print("\tTO BE: %s" %to_be)
    print("\tAS IS: %s" %as_is)
    print(" GAP DEC: %s" %gap_dec)
    intens = 0.02 * gap
    print(" INTENS: %s" %intens)
    to_be = to_be - gap_dec * dt
    as_is = as_is + intens * dt
    t = t + dt

Офлайн

#5 Июнь 28, 2018 22:58:45

kotlyarov
Зарегистрирован: 2018-06-28
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопросы от новичков.

У меня есть один интересный вопрос, я хочу инициировать запись данных в JSON, но, когда я присваиваю на запись словарь, в котором значение одного из ключей равно переменной которая равна результату функции, то получаю такую вот ошибку ибку из VSCode:
Object of type ‘function’ is not JSON serializable
Точно такая же проблема с функциями UUID(2,3)
Заранее спасибо за помощь!

 def id_method():
    newID = random.randint(1, 100)
    return id_method
def kfc_test():
    json_list = {
        'Name': name,
        'Age': age,
        'Country': country,
        'Menu': denmark_dialog_01,
        'drink': denmark_dialog_02,
        'Time order': kfc_order,
        'JSONid' : newID,
    }
    return json_list
def write_json(person_dict):
    try:
        data = json.load(open('persons.json'))
    except:
        data = []
    data.append(person_dict)
    with open('persons.json', 'w') as file:
        json.dump(data, file, indent=2, ensure_ascii=False)
def main():
    persons = []
    write_json(kfc_test())
    write_json(id_method())
if __name__ == '__main__':
    main()
input("\n\n Click Enter to exit!")

Отредактировано kotlyarov (Июнь 28, 2018 22:59:53)

Офлайн

#6 Июнь 28, 2018 23:28:55

Mayer
Зарегистрирован: 2018-06-28
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопросы от новичков.

Только изучаю Python и вопрос по циклу ‘while’.

Почему при данном добавлении ещё одного условия при ‘and’ цикл реагирует как лож то есть нужно, а после использования ‘or’ он продолжается, пример кода ниже.
Хотелось бы услышать довольно понятное объяснение.

С использованием and (И работает так как я предполагал работу с ‘or’)

 dial = ''
while (dial != 'Заткнись') and (dial != 'Потому что' ):
    print('Почему?')
    dial = input()
print('Хорошо')

С использованием or (При этом цикл не реагирует на слова при которых значение должно быть ложным)

 dial = ''
while (dial != 'Заткнись') or (dial != 'Потому что' ):
    print('Почему?')
    dial = input()
print('Хорошо')

Офлайн

#7 Июнь 29, 2018 00:10:24

Kto_ale
Зарегистрирован: 2018-06-28
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопросы от новичков.

Здравствуйте, форумчане…Есть решенная задача, фидбэк по ней, пару советов и один вопрос, а что не так то??? Причем уточнить у проверяющих не получилось ибо канал связи закрылся…
Решал доп задание после собеседования…Задача - реализовать игру Шелдона(Камень, ножницы, бумага, ящерица, спок) (5 раундов максимум) + замутить бэк для этой игры. Для бэка взял за основу фласк. https://github.com/KTOALE/Sheldon_RSP/tree/dev здесь собсно сам код…
В ответ мне сказали что не довольны моим кодом на 100%. И прислали эти советы:
-читкани pep8 - полезно
-пиши под линукс ибо все юзают
-пройди пару курсов Python чтобы систематизировать знания
-порешай алгоритмические задачки на сайтах - будет полезно

Собсно если со 2м более менее понятно типа невозможность замутить контейнеры мягко говоря удручает
Ну и возможно первое еще можно как то принять…
Но 3е и 4е? Я не Слизерениц - старожил, конечно, опыт всего лишь месяцев 7…но черт подери что так отличает мой код, что мне советуют перепройти курсы???
А еще алгоритмы…я конечно в курсе, что реализовал ее самым простым способом( хотя понимаю что ее можно например решить через матрицу смежности) но а имеет ли это смысл в такой статичной задаче с 5ю раундами, и сервисом, благодаря которому программа будет работать в порядках времени намного больших чем, если бы она была консольной…
Заранее благодарю!

Офлайн

#8 Июнь 29, 2018 01:35:41

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9731
Репутация: +  843  -
Профиль   Отправить e-mail  

Вопросы от новичков.

Kto_ale
Есть решенная задача, фидбэк по ней, пару советов и один вопрос, а что не так то??? Причем уточнить у проверяющих не получилось ибо канал связи закрылся
Путанный код, не видно чёткой структуры, изолированности частей друг от друга. Короче, он не читается, ты сам в нём потеряешься, если года через три откроешь, написав к тому времени десяток похожих программ.

Kto_ale
-пройди пару курсов Python чтобы систематизировать знания
Ну у тебя ни одного класса нет, хотя они бы прояснили программу. Тут дело даже не в ООП, а просто в наличии чётко очерченных сущностей, выполняющих всю работу. Каждая сущность должна заниматься только своей частью, иметь свою ответственность. Вот на курсах по питону обычно классы показывают сразу на примере кошечек-собачек. Типа кошечка может сказать мяу, а собачка может сказать гав, и для них можно сделать одну полиморфную функцию, которая в зависимости от поданого в неё животного произнесёт соответствующий звук. Вообще, много неявных фишек передаётся при обучении на курсах, многие подходы. Ты даже сам не поймёшь, что узнал что-то, просто станешь этим пользоваться потом всегда.

Kto_ale
А еще алгоритмы…я конечно в курсе, что реализовал ее самым простым способом
Да у тебя про каждую функцию нельзя сходу сказать: 1) что она делает? 2) в каком состоянии программы она запускается? 3) в каком состоянии программы она завершается?

Должно быть так: ты смотришь на заголовок функции и по нему видишь, что делает она то-то и то-то, что перед входом в функцию она требует таких-то условий, что после выхода из функции соблюдается такое-то условие. При этом должно быть хорошо видно, что функция принимает и что функция возвращает. И это всё должно быть видно без всякого чтения её содержимого. Заголовок функции и её докстринг (в других языках основной комментарий) должны давать полную информацию о ней. А содержимое функции не важно, так как оно может меняться в любое время.



Отредактировано py.user.next (Июнь 29, 2018 01:41:55)

Офлайн

#9 Июнь 29, 2018 08:55:48

rami
Зарегистрирован: 2018-01-08
Сообщения: 280
Репутация: +  71  -
Профиль   Отправить e-mail  

Вопросы от новичков.

Mayer
С использованием or (При этом цикл не реагирует на слова при которых значение должно быть ложным)

Есть три случая для переменной dial:
 dial = 'Заткнись'
dial = 'Потому что'
dial = 'Любое другое значение'

Выражение:
 (dial != 'Заткнись') or (dial != 'Потому что' )
в любом случае при любом dial будет равно True. Получить False можно было бы если бы 'Заткнись' было бы равно 'Потому что', а это не возможно.
 #Выражение:
while (dial != 'Заткнись') or (dial != 'Потому что' ):
 
#равно выражению:
while True:

Офлайн

#10 Июнь 30, 2018 21:14:44

olk
Зарегистрирован: 2018-06-04
Сообщения: 4
Репутация: +  0  -
Профиль   Адрес электронной почты  

Вопросы от новичков.

Підкажіть будь ласка
Шукаю хорошу книгу по Python і в пошуках наткнувся на книги Марка Лутца такі як Марк Лутц - Программирование на Python. в двох томах .Так і наткнувся на книгу Изучаем Python Марка Лутца
підкажіть яка між ними різниця і чи варто звертати на них увагу чи читати якісь інші.
Дякую!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version