• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

na zrobienie tego mam czas do 23:59 w tę sobotę

Object Storage Arubacloud
0 głosów
188 wizyt
pytanie zadane 20 stycznia w Python przez dia_Chann Nowicjusz (180 p.)
edycja 20 stycznia przez dia_Chann

Działanie ułożone z zapałek składa się z cyfr, znaków +, - oraz dokładnie jednego znaku =. Bezpośrednio za każdym znakiem + lub - stoi cyfra. Znak + nie stoi na początku działania, ani od razu po znaku =. Przenoszenie zapałki nie może zmieniać, usuwać ani tworzyć żadnych nowych znaków (można przenosić zapałkę tylko między cyframi). Nie można tworzyć nowych cyfr, ani usuwać istniejących (np zamieniając 4 na dwie 1). Na początku liczby w działaniu nie mają wiodących zer, ale po przełożeniu zapałki mogą mieć. Cyfry są na początku (oraz muszą być po przestawieniu zapałki) zapisane w następujący sposób: 0 123456 789 Wejście W jedynym wierszu wejścia znajduje się napis złożony z cyfr, oraz znaków -, +, =, zgodny z opisem w treści. Długość napisu nie przekroczy 106 . Długość żadnej liczby nie przekroczy 10 cyfr. Możesz założyć, że działanie nie jest poprawne. Wyjście Na wyjście wypisz jeden napis, poprawione działanie w takim samym formacie co na wejściu, lub no jeżeli nie da się poprawić działania przenosząc jedną zapałkę. Jeżeli istnieje wiele poprawnych rozwiązań, twój program może wypisać dowolne z nich.

usuwanie_zapalki = {

  '0': {},

  '1': {},

  '2': {},

  '3': {},

  '4': {},

  '5': {},

  '6': {5},

  '7': {1},

  '8': {0,6,9},

  '9': {5,3}

}

 

dodawanie_zapalki = {

  '0': {8},

  '1': {7},

  '2': {},

  '3': {9},

  '4': {},

  '5': {6,9},

  '6': {8},

  '7': {},

  '8': {},

  '9': {8}

}

 

przesuwanie_zapalki = {

  '0': {6,9},

  '1': {},

  '2': {3},

  '3': {5},

  '4': {},

  '5': {3},

  '6': {9},

  '7': {},

  '8': {},

  '9': {6}

}

 

dzialanie = "1+1=3"

tablica_znakow = []

 

for znak in dzialanie:

    tablica_

znakow.append(znak)

 

print(tablica_znakow)

Na razie mam to

komentarz 20 stycznia przez overcq Pasjonat (21,710 p.)
Na pierwszy rzut oka nasuwa się, że potrzebujesz zdefiniować dwie listy: jakie cyfry mogą powstać po zabraniu zapałki z każdej z cyfr oraz jakie cyfry mogą powstać po dodaniu zapałki do każdej z cyfr. Do tego potrzebny jest dokładny wygląd cyfr ułożonych z zapałek; zakładam, że to masz na rysunku, którego nie dostarczyłeś. Następnie potrzebujesz przebiec w pętli wszystkie możliwości zabrania zapałki i jej dołożenia, sprawdzając poprawność działania wynikowego; do tego potrzebna jest reprezentacja tekstowa liczb.
1
komentarz 20 stycznia przez Wiciorny Ekspert (270,190 p.)

@dia_Chann, to rób, do dzieła ! 

komentarz 20 stycznia przez dia_Chann Nowicjusz (180 p.)

@overcq, 

komentarz 20 stycznia przez dia_Chann Nowicjusz (180 p.)
Teraz dostarczyłam obrazek
komentarz 20 stycznia przez overcq Pasjonat (21,710 p.)
Jeśli jeszcze nie zrobione…

Teraz potrzebna jest funkcja obliczająca poprawność działania. Ze względu na restrykcyjną postać tekstu nie potrzeba parsować, a wystarczy dzielić na części znakiem “=”, a następnie “+”.

I dwie pętle przechodzące po znakach działania: dla przesuwania zapałki oraz dla usuwania‐dodawania zapałki. W pętli tworzysz ciąg ze zmienioną cyfrą/cyframi i podajesz do powyższej funkcji.
komentarz 20 stycznia przez dia_Chann Nowicjusz (180 p.)
Już jest zrobione, potrzebne tylko przyspieszenie działania kodu ale z tym sobie poradzę

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

+2 głosów
2 odpowiedzi 387 wizyt
–5 głosów
1 odpowiedź 522 wizyt
0 głosów
1 odpowiedź 77 wizyt

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...