Zadanie z programowania w python.Napisz program, który poprosi o dwukrotnie podanie paru cyfr z zakresu
od 1 do 9 [mają być oddzielone spacjami]
Następnie:
a. zamieni te dane w odpowiednie zbiory
b. sprawdzi czy pierwszy z nich zawiera się w drugim i czy zbiory te są sobie równe,
c. następnie wyświetli wyniki następujących operacji na tych zbiorach:
iloczyn / Suma/ różnica symetryczna
Dla wszystkich wyników należy podać, ile elementów mają zbiory wynikowe, jakie są ich elementy oraz jak to wygląda w przypadku zbiorów podanych przez użytkownika.
Podpunkty b. i c. muszą zawierać informacje co jest wyświetlane użytkownikowi



Odpowiedź :

Odpowiedź:

print("Podaj wartości zbioru A oddzielone spacją:")

A = set(input().split())

print("Podaj wartości zbioru B oddzielone spacją:")

B = set(input().split())

print(f"Zbior A: {A}. Liczba elementów: {len(A)}")

print(f"Zbior B: {B}. Liczba elementów: {len(B)}")

if A.issubset(B):

   print("Zbiór A jest podzbiorem zbioru B")

if A == B:

   print("Zbiór A jest równy zbiorowi B")

# iloczyn zbiorów i liczba elementów tego zbioru

w = A.intersection(B)

print(f"Iloczyn zbiorów A i B: {w}. Liczba elementów: {len(w)}")

# suma zbiorów

w = A.union(B)

print(f"Suma zbiorów A i B: {w}. Liczba elementów: {len(w)}")

# różnica symetryczna zbiorów

w = A.symmetric_difference(B)

print(f"Różnica symetryczna zbiorów A i B: {w}. Liczba elementów: {len(w)}")

Zobacz obrazek KiciakToes

Odpowiedź

Program kolegi jest bardzo ładnie napisany, ale zwykłe zbiory  ( set )  w języku Python mają tę właściwość, że elementy są nieuporządkowane i drukowane wyniki nie jest czytelny. Dodałam więc sortowanie wyników (samych wyników).

W drugim załączniku przykładowe wyniki.

Wyjaśnienie

Istnieją biblioteki języka Python, które dodają strukturę będącą posortowanym zbiorem, lecz nie ma potrzeby aby ich używać.

Nie uznałam też za konieczną podmiany nawiasów w wydruku z  []  na  {},  co oczywiście można zrobić.

Zobacz obrazek 0AB
Zobacz obrazek 0AB