Size: a a a

Хирьянов Т.Ф., Практика программирования на Python 3 (2019)

2020 November 20

D9

Dingo 96 in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Dingo 96
Jaden Smith, the son of Will Smith, is the star of films such as The Karate Kid (2010) and After Earth (2013). Jaden is also known for some of his philosophy that he delivers via Twitter. When writing on Twitter, he is known for almost always capitalizing every word. For simplicity, you'll have to capitalize each word, check out how contractions are expected to be in the example below.

Your task is to convert strings to how they would be written by Jaden Smith. The strings are actual quotes from Jaden Smith, but they are not capitalized in the same way he originally typed them                                                                                                                         Example:

Not Jaden-Cased: "How can mirrors be real if our eyes aren't real"
Jaden-Cased:     "How Can Mirrors Be Real If Our Eyes Aren't Real"
Вот такая задача
источник

FI

Feanor IV in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Переменной нужно присвоить что то до ее вызова
источник

FI

Feanor IV in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Видимо этот самый текст про зеркала
источник

D9

Dingo 96 in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Feanor IV
Переменной нужно присвоить что то до ее вызова
Понял
источник

D9

Dingo 96 in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Чёт другие тесты не проходят
источник

FI

Feanor IV in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Это потому что title() делает заглавными и буквы после '. aren't должен превратиться в Aren't , а не в Aren'T
источник

SS

Stanislav Salangin in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Dingo 96
Чёт другие тесты не проходят
Потому что заглавными делаются только первые буквы слов, а такие слова как Aren't игнор
источник

D9

Dingo 96 in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Stanislav Salangin
Потому что заглавными делаются только первые буквы слов, а такие слова как Aren't игнор
Есть ли функции для решения этого вопроса?
источник

SS

Stanislav Salangin in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Так понимаю это начальные задачи в codewars) нужно думать как это сделать правильно, возможно через разбиение всего предложения на отдельные слова, а потом соединение в предложение
источник

FI

Feanor IV in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Да, split() отлично работает
источник

D9

Dingo 96 in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Stanislav Salangin
Так понимаю это начальные задачи в codewars) нужно думать как это сделать правильно, возможно через разбиение всего предложения на отдельные слова, а потом соединение в предложение
Такая мысль пришла в голову)
источник

SS

Stanislav Salangin in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Под рукой нет интерпретатора, возможно Feanor 4 ответил правильно
источник

OM

Oleg Makarikhin in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
а есть тест на два пробела между словами?
источник

FI

Feanor IV in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
источник

FI

Feanor IV in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Извиняюсь за фото.. не могу скринить
источник

D9

Dingo 96 in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Feanor IV
Насчёт сплита понял, щас займусь гуглежом)
источник

SS

Stanislav Salangin in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Dingo 96
Такая мысль пришла в голову)
источник

SS

Stanislav Salangin in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Если можно импортить string, то есть готовый способ, а можно залезть в "кишки" модуля и понять как это работает под капотом)
источник

ЕМ

Егор Михайловский... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Добрый день. Кто знает как можно проксировать в tk клавишу "Control" или сочетание "Control" + "v" or "c"?
Вот пример кода:

import tkinter as tk
class MyTextClass(tk.Text):
   def init(self, *args, **kwargs):
       tk.Text.init(self, *args, **kwargs)

       # create a proxy for the underlying widget
       self._orig = self._w + '_orig'
       self.tk.call('rename', self._w, self._orig)
       self.tk.createcommand(self._w, self._proxy)

   def _proxy(self, command, *args):
       cmd = (self._orig, command) + args
       result = self.tk.call(cmd)

       if command in ('insert', 'delete', 'replace'):
           self.event_generate('<<OtherKeys>>')

       return result

root = tk.Tk()

label = tk.Label(root, anchor='w')
text = MyTextClass(root, width=80, height=20)

label.pack(side='bottom', fill='x')
text.pack(side='top', fill='both', expand=True)

def other_keys(event):
   print('Other keys')

def press_control(event):
 print('Press control')

text.bind('<<PressControl>>', press_control)
text.bind('<<OtherKeys>>', other_keys)

root.mainloop()
источник

OM

Oleg Makarikhin in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Егор Михайловский
Добрый день. Кто знает как можно проксировать в tk клавишу "Control" или сочетание "Control" + "v" or "c"?
Вот пример кода:

import tkinter as tk
class MyTextClass(tk.Text):
   def init(self, *args, **kwargs):
       tk.Text.init(self, *args, **kwargs)

       # create a proxy for the underlying widget
       self._orig = self._w + '_orig'
       self.tk.call('rename', self._w, self._orig)
       self.tk.createcommand(self._w, self._proxy)

   def _proxy(self, command, *args):
       cmd = (self._orig, command) + args
       result = self.tk.call(cmd)

       if command in ('insert', 'delete', 'replace'):
           self.event_generate('<<OtherKeys>>')

       return result

root = tk.Tk()

label = tk.Label(root, anchor='w')
text = MyTextClass(root, width=80, height=20)

label.pack(side='bottom', fill='x')
text.pack(side='top', fill='both', expand=True)

def other_keys(event):
   print('Other keys')

def press_control(event):
 print('Press control')

text.bind('<<PressControl>>', press_control)
text.bind('<<OtherKeys>>', other_keys)

root.mainloop()
text.bind('<Control_L>', press_control)
https://www.tcl.tk/man/tcl8.6/TkCmd/keysyms.htm

а ctrl+c/v в текстовом поле и так работают. по крайней мере у меня
источник