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

Python - dodawanie elementow z listy

Object Storage Arubacloud
0 głosów
1,458 wizyt
pytanie zadane 17 grudnia 2015 w Inne języki przez Kapi2222 Obywatel (1,220 p.)

Witam! Mam problem z nastepujacym zadaniem. Mam wykonac operacje bitowa XOR a nastepnie dodac wszystkie bity. Np. 117^17=1100100 i teraz dodaje te bity i program ma wypisać 3.

Napisałem to w taki sposób:

def checkio(n, m):
   zmienna=str(n^m)
   
   suma=0
   for i in zmienna:
        suma=suma+1
   return suma

Zapomnialem dodac ze uzytkownik daje na wejsciu dwie liczby.

Moj problem jest taki ,ze jak wpisze liczby 2 i 1 to program powinien wypisac 2 a wypisuje 1 i nie wiem jak zmodyfikowac program aby blad nie wystepowal. Ktos pomoze? Z gory dziekuje i pozdrawiam ;)

1 odpowiedź

0 głosów
odpowiedź 17 grudnia 2015 przez Tomatosoup Pasjonat (18,530 p.)

Zastanów się nad tym, jak ten kod działa.

Iteruje on po kolejnych liczbach z operacji bitowej dwóch liczb i... zlicza ile ich jest, no bo w końcu nie ma tam żadnego warunku, który sprawdza czy liczba jest równa 1. Kolejnym błędem jest tutaj fakt, że 'zmienna' jest w zapisie dziesiętnym, czyli jest równa 100 a nie 1100100.

Twój program powinien wyglądać tak:

def checkio(n, m):
	zmienna=bin(n^m)
	suma=0
	for i in zmienna:
		if i == '1':
			suma=suma+1
	return suma

Następnym razem stosuj nazewnictwo zmiennych takie żeby było wiadomo do czego służą

komentarz 17 grudnia 2015 przez adrian17 Ekspert (344,860 p.)
(plus, listy i stringi w Pythonie mają metodę .count(), która skraca całą funkcję do jednej linii.)

Podobne pytania

0 głosów
1 odpowiedź 312 wizyt
pytanie zadane 13 września 2022 w Python przez Ziom Początkujący (430 p.)
+1 głos
1 odpowiedź 244 wizyt
pytanie zadane 3 listopada 2021 w Python przez jakubjordanek Obywatel (1,320 p.)
0 głosów
1 odpowiedź 192 wizyt

92,565 zapytań

141,417 odpowiedzi

319,602 komentarzy

61,950 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!

...