Proszę o pomoc w stworzeniu warunku potrzebnego do działania programu.

0

Witam,

Mam problem ze skonstruowaniem odpowiedniego warunku w pythonie który pozwoli na odpowiednie działanie programu. Program służy do pobierania informacji o podzespołach, i teraz muszę zrobić coś takiego że posiadam tablicę z pobranymi kartami graficznymi, ale nie każdy kmputer ma dwie karty graficzne, i chciałbym stworzyć warunek który będzie robił coś takiego że jak komputer ma tylko jedną kartę graficzną, to z listy odczyta mi tylko jedną kartę graficzną i wypisze ją na ekran, a w przeciwnym wypadku wypisze dwie karty i dwie karty doda do bazy, mój kod podam poniżej, ale instrukacja warunkowa if którą zrobiłem nie działa. Z góry dziękuję za pomoc.

Pobieranie informacji o kartach z komputera:

karty = []
for gpu in get_gpus():
    karty.append(gpu.name)

Przekazywanie informacji na ekran:

if karty[0] and karty[1]:
    K1 = karty[0]
    K2 = karty[1]
    k = StringVar()
    etykieta3 = Label(okno, textvariable=k)
    etykieta3.pack()
    k.set("Karta graficzna: " + K1)

    k1 = StringVar()
    etykieta4 = Label(okno, textvariable=k1)
    etykieta4.pack()
    k1.set("Karta graficzna: " + K2)
else:
    y = karty[0]
    k2 = StringVar()
    etykieta3 = Label(okno, textvariable=k2)
    etykieta3.pack()
    k2.set("Karta graficzna: " + y)
0

Nie mam doświadczenia z tkinker więc sugestie ogólne:

A co jak ktoś będzie miał 4 karty graficzne? Albo żadnej? ;). Ziteruj po prostu po "karty" i albo wykorzystaj inny rodzaj obiektu (message? wygooglałem na szybko) albo utwórz jeden label i go rozszerzaj w pętli:

    k = StringVar()
    etykieta3 = Label(okno, textvariable=k)
    etykieta3.pack()
    s = '\n'.join('Karta graficzna: {}'.format(karta) for karta in karty)
    k.set(s)
        
0

@AsterFV: Dziękuję za podpowiedź, tylko teraz pytanie, bo jeszcze moj programik jest podłączony do bazy danych, i jeżeli będę iterował karty graficzne w zapytaniu, to w taki sam sposób mogę iterować je do bazy danych, aktualnie podłączenie do bazy wygląda tak:

connection = pymysql.connect(
    host='db4free.net', user='#', password='#', database='podzespoly')
cursor = connection.cursor()
sql = "INSERT INTO gry(CPU,GPU,GPU1,HDD,RAM) VALUES('%s','%s','%s','%s','%s')" \
    % (Proc, K1, K2, Disc, Mem)


cursor.execute(sql)
connection.commit()

1 użytkowników online, w tym zalogowanych: 0, gości: 1