Napisz program w Pythonie, który przywita się z użytkownikiem i poprosi go dwukrotnie o podanie kilku cyfr z zakresu
od 1 do 9 rozdzielonych pojedynczymi 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
• 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ź

Długie zadanie, więc długie wyszło...

Kod źródłowy dałam w pierwszym załączniku jako obraz, aby tutaj na forum można było rozwiązanie od razu łatwo podejrzeć. W drugim to samo, ale jako PDF. W trzecim załączniku pokazałam jak wyglądają przykładowe wyniki uruchomienia.

Wyjaśnienie

pprint() to ładne drukowanie od angielskiego pretty print.

Dlaczego użyłam? Otóż zbiory  ( set )  w języku Python mają tę właściwość, że elementy są nieuporządkowane i zawartość zbioru wydrukowana przy pomocy normalnego  print()  nie jest czytelna.

Można zamienić zbiór na listę, albo właśnie wydrukować przy pomocy  pprint(). Z tym, iż chwilowo Python ma błąd polegający na tym, że sortowanie działa tylko jeśli elementy zbioru są wypisywane w jednej kolumnie... No cóż nie można mieć wszystkiego. :)

Nie wydłużałam już kodu w Pythonie, ale byłoby bardzo ładnie gdyby wyraz elementy był poprawnie odmieniany...

Zobacz obrazek 0AB
Zobacz obrazek 0AB