Stworzenie tabeli z wartościami logicznymi w pętli for

0

Witam mam za zadanie stworzenie tabeli z wartościami logicznymi, tj. w nagłówku a, b, a koniunkcja b, a alternatywa b i zaprzeczenie a, moje pytanie to, czy można stworzyć taką tabelę, oczywiście z odpowiednimi wartościami, przy pomocy jedynie dwóch pętli for, dostałem informację, że cały kod może zajmować tylko 4 linijki... Czy jest to możliwe?

1

A czemu nie?

  1. Zrób listę lambd: pierwsza zwraca pierwszy argument, druga zwraca drugi argument, trzecia zwraca koniunkcje, czwarta zwraca.... To jest jedna linijka.
  2. Wypisz sobie nagłówek jak chcesz, to druga linijka.
  3. Wygeneruj sobie listę "wyników" poprzez aplikowanie funkcji na argumentach, tzn [fun(a,b) for fun in funkcje] i wypisz tą listę, to jest trzecia linijka.

W praktyce możesz 1 i 3 linijkę złączyć w jedno, chociaż będzie mało czytelne ;] bo mozesz zrobić for fun in [lambda....]

a = 1
b = 0
print("naglowek")
print("|".join([str(fun(a,b)) for fun in [lambda a,b:a, lambda a,b:b, lambda a,b: a and b, lambda a,b: a or b, lambda a,b: not a]]))
0

Ok, w takim razie muszę poczytać o tych lambdach, bo nie używałem wcześniej, mam nadzieję, że sobie jakoś poradzę :)

0

Lambda to po prostu funkcja anonimowa zawierająca jedną instrukcję, nic więcej.
lambda lista_argumentów:instrukcja jest równoważne:

def funkcja(lista_argumentów):
    return instrukcja

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