Cześć mam pytanie dotyczące Pythona. Używam teraz takiego programu pymol, w którym używa się też niestety Pythona 2. Żeby pisać w nim skrypty używa się w nim cmd https://pymolwiki.org/index.php/Simple_Scripting
I mamy tam napisane coś takiego:
To write them:
Write the function, let's call it doSimpleThing, in a Python file, let's call the file pyProgram.py.
Add the following command to the end of the pyProgram.py file
cmd.extend("doSimpleThing", doSimpleThing)
Czyli muszę używać tylko programowania funkcyjnego i wszystko muszę kłaść do funkcji? I dlaczego dwa razy piszę doSimpleThing, raz z apostrofem, a raz bez?
Znalazłem taki skrypt do kopiowania cząsteczki:
s = range(6)
for x in s:
cmd.copy("dopc%s" %x, "dopc")
Moglibyście mi pomóc zinterpretować linijkę "cmd.copy("dopc%s" %x, "dopc")" nie rozumiem tego np. dopc%s to jest mnożenie przez zmienną s, dlaczego nie ma operatora * (mnożenia), po co ten %x? i jeszcze raz na końcu to dopc?
Próbowałem go przekształcić, żebym mógł sobie wybrać ile razy chcę skopiować moją cząsteczkę, ale się nie da
max = int(input("Wpisz cyfre"))
s = range(1, max)
for x in s:
cmd.copy("dopc%s" %x, "dopc")
input w ogóle nie działa. Mam taki błąd EOFError: EOF when reading a file
W dodatku w pycharm w OBYDWU przypadkach "Unresolved reference 'cmd' less... (Ctrl+F1)
Inspection info: This inspection detects names that should resolve but don't. Due to dynamic dispatch and duck typing, this is possible in a limited but useful number of cases. Top-level and class-level items are supported better than instance items.
PEP 8: missing whitespace around operator" choć ten pierwszy skrypt działa ok