Siemka jestem początkującym programistą i przyszedłem tutaj z pytaniem czy ktoś pomógłby mi w napisaniu tego programu "Napisz program wyświetlający wszystkie liczby całkowite z przedziału od 50 do 100 podzielne przez dowolną liczbę, którą podaje użytkownik.
Następnie przekształć program tak, aby przedział liczb również podawał użytkownik."
Z góry dziękuje
Miłego wieczoru :)
Program konsolowy, iterujący liczby
- Rejestracja: dni
- Ostatnio: dni
- Postów: 2
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Chorzów
- Postów: 1670
Miłego wieczoru.
Co masz już napisane i z czym masz problem.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 2
Aktualnie nie mam nic i nie mam pojęcia jak do tego usiąść (zacząć)
- Rejestracja: dni
- Ostatnio: dni
- Postów: 6966
Na początek powinno wystarczyć: https://ideone.com/
Wybierz z listy rozwijanej język Python 3

- https://pynative.com/python-range-function/ - zacznij od przykładowego kodu.
- Przerób range tak, żeby obejmowało
wszystkie liczby całkowite z przedziału od 50 do 100. - Przed pętlą
forpobierz od użytkownika liczbę (przez którą mają być podzielne liczby z przedziału). Użyj do tegoinput()- https://www.geeksforgeeks.org/how-to-take-integer-input-in-python/ - Żeby sprawdzić, czy liczba jest podzielna przez inną liczbę użyj modulo:
if liczba1 % liczba2 == 0: #jesli liczba1 jest podzielna przez liczba2, to.... Musisz takiegoifwykonywać w pętli. Jeśli warunek jest spełniony, to wypisujeszprint(liczba1). - W ideone możesz podać testowe wejście (stdin), wpisz tam jakiś przykładowy dzielnik, np.
5. Żebyinput()w Twoim kodzie dostał liczbę, na podstawie której będzie się wykonywać algorytm.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 10227
Ściągnij Python'a z https://www.python.org/downloads/, odpal w terminalu python i zacznij siekać tutorial.
ten Figaro napisał(a):
Aktualnie nie mam nic
i nie mam pojęcia jak do tego usiąść (zacząć)
I już nazywasz się "początkującym programistą"? :D
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Wrocław
Napisałbym Ci gotowca, ale zaraz @TomRiddle zacznie mnie szkalować :D hint: przyda Ci się modulo
- Rejestracja: dni
- Ostatnio: dni
Jeżeli potrzebujesz wszystkie liczby podzielne przez Div z zakresu od Start do Finish
To pierwsza liczba będzie s=(Start+Div-1)/Div*Div ostatnia f=Finish/Div*Div;
Więc zaczynasz od s lecisz do f s krokiem div.
Ewentualnie od s=(Start+Div-1)/Div do f=Finish/Div; ale wyświetlasz i*Div
- Rejestracja: dni
- Ostatnio: dni
- Postów: 8487
wyświetlający wszystkie liczby
do wyświetlania masz funkcję print, przykład:
print(123)
a = 23
print(a)
całkowite z przedziału od 50 do 100
masz do tego funkcję range, a dokładniej range(50, 101), tylko musisz to później jakoś użyć, np. używając pętli for, w której przechodzisz przez każdą liczbę i coś z nią robisz
for i in range(50, 101):
print(i)
podzielne przez dowolną liczbę
Musisz sprawdzić, czy reszta z dzielenia a przez b równa się zero. Czyli sprawdzasz za pomocą if warunek a % b == 0, gdzie a to pierwsza liczba, a b to ta druga liczba.
którą podaje użytkownik.
Możesz użyć funkcji input() do tego, żeby użytkownik mógł coś napisać np.
b = int(input('wpisz liczbe:'))
int() przekonwertuje na liczbę całkowitą (albo rzuci wyjątkiem, jeśli się nie da), bo samo input() zwróci stringa. Czyli jeśli użytkownik wpisze 23 to zostanie to zapisane w pamięci komputera jako dwuznakowy tekst ('23', czyli znak 2, a następnie znak 3), a nie jak prawdziwa liczba. Więc trzeba dopiero przekonwertować.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Silesia/Marki
- Postów: 5549
A mówili że python czytelny :D Nigdy wam już nie uwierzę :P
(lambda random, start, stop : list(map(print, filter(lambda num : (num % random) == 0, range(start, stop + 1)))))(int(input('Podaj dowolną liczbę: ')), int(input('Podaj min: ')), int(input('Podaj max: ')))
UPDATE tak się kończy czytanie SICP XD
- Rejestracja: dni
- Ostatnio: dni
- Postów: 10227
KamilAdam napisał(a):
A mówili że python czytelny :D Nigdy wam już nie uwierzę :P
No
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Wrocław
KamilAdam napisał(a):
A mówili że python czytelny :D Nigdy wam już nie uwierzę :P
(lambda random, start, stop : list(map(print, filter(lambda num : (num % random) == 0, range(start, stop + 1)))))(int(input('Podaj dowolną liczbę: ')), int(input('Podaj min: ')), int(input('Podaj max: ')))UPDATE tak się kończy czytanie SICP XD
To filter jeszcze ktoś używa? :D