Za chaos z góry przepraszam ale mi się to napewno przyda.
WYŚWIETLANIE ZMIENNYCH
najpierw liczba, później string i znów liczba:
print "Miejsce %0.f " % miejsce + " " + row[0] + " oo %0.f " % row[1]
RYSOWANIE "FORM KULISTYCH" - np niepełny okrąg
https://www.youtube.com/watch?v=Ok3vbJ0cwtk
pi=3.14
pygame.draw.arc(background, green, (100,100,250,200), pi/2, pi, 1)
pygame.draw.arc(background, black, (100,100,250,200), 0, pi/2, 1)
pygame.draw.arc(background, red, (100,100,250,200), 3*pi/2, 2*pi, 1)
pygame.draw.arc(background, blue, (100,100,250,200), pi, 3*pi/2, 1)
4 parametr - w radianach - gdzie ma się okrąg zacząć a gdzie skończyć
5 parametr - grubość
np
pygame.draw.arc(background, IntColor, (650,190,100,221), 3*pi/2, 5*pi/2, 3)
pygame.draw.arc(background, IntColor, (250,190,100,221), pi/2, 3*pi/2, 3)
to narysuje 2 półokręgi - ( i )
SORTOWANIE (np do tabeli)
#http://www.saltycrane.com/blog/2007/12/how-to-sort-table-by-columns-in-python/
score_table = [
(rider2.name,rider2.czas),
(rider3.name,rider3.czas),
(rider4.name,rider4.czas),
]
miejsce=1
for row in sorted(score_table, key=operator.itemgetter(1)):
print "Miejsce %0.f " % miejsce + " " + row[0] + " oo %0.f " % row[1]
miejsce += 1
sortowanie wg dwóch kategorii
for row in sort_table(mytable, (1,0)): print row
SUMA składników z macierzy (przy okazji w macierzy każdy rząd lepiej jak jest w nawiasach [ ]
punkty = [
(..)
[ '9', 1, 2, 3, 2, ],
['10', 3, 3, 0, 0, ],
(..)
]
dla rzedów od 6 do 8
for i in range(6,9):
# suma ale od drugiego składnika - gdy np pierwszy to nr indeksowy
scoreVisitors += sum(team_points[i][1:])
gdy mamy listę - mamy różne metody
http://docs.python.org/2/tutorial/datastructures.html
DODAWANIE/USUWANIE
list.append(x) - dodaje na koncu wiersza
list.remove(x) - usuwa pierwszy wpis gdy ma podana WARTOŚĆ
del a[0] - usuwa wpis o podanym indexie
USUWANIE elementów z macierzy
gdy wiecej niz 1 wymiar
finalRiders4Change=[
[9, 9.28, 1.5],
[14, 3.83, 1.5],
[13, 7.46, 1.33],
[10, 2.41, -0.5],
[15, 2.5, -0.66]]
szukamy rzędu w którym wartość pierwszej kolumny = 14
item2check=[ index for index,row in enumerate(finalRiders4Change) if row[0] == 14 ]
print item2check
usuwanie tego rzędu
del finalRiders4Change[item2check[0]]
zeby sprawdzic czy jest wartosc
if len(item2check) > 0
zabawy z tekstem
tekst="TO JEST TEKST"
Place1=tekst.split(" ")
Place1[0][0] + ". " + Place1[-1] + ", "
pierwsza litera pierwszego elementu + ostatni element
czyli T. TEKST
- Hidden features of Python
- http://stackoverflow.com/questions/101268/hidden-features-of-python/1024693
- PYGAME
- gdy robimy pętle
- np
- while running = true:
- standardowo wszędzie napisane jest żeby użyć coś w stylu:
- for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
if event.type == KEYDOWN:
if event.key == K_ESCAPE:
running=false - ALE to zżera dużo procesora ( u mnie 70-100% CPU)
- CO ZROBIĆ:
- na samym końcu (żeby najpierw nie czekało tylko wyświetlało menu) za display.flip wrzucić
- event = pygame.event.wait()
if event.type == QUIT:
pygame.quit()
sys.exit()
if event.type == KEYDOWN:
if event.key == K_ESCAPE:
running=false - i wtedy duuuużo lepiej
- PYGAME okno - pozycja startowa
import os position = 100, 50 os.environ['SDL_VIDEO_WINDOW_POS'] = str(position[0]) + "," + str(position[1])
Brak komentarzy:
Prześlij komentarz