Dzień dobry, potrzebuję pomocy z tym zadaniem w Python, mój poziom znajduje się między początkującym i średnim. Niestety nic nie można znaleźć na podobny temat na innych forach programistycznych jak na przykład StackOverFlow. Dziękuję z góry za wszelką pomoc, pozdrawiam.
ZwolennikDyktaturyDecyzjonistycznej napisał(a):
Niestety nic nie można znaleźć na podobny temat na innych forach programistycznych jak na przykład StackOverFlow.
Kolejny szukający gotowców ... wiesz, że jesteście już śmieszni
Szanowny kolego, szukaj wiedzy o elementach. Każda, najdłuższa podróż, zaczyna się od pierwszego kroku
a) "inputowanie" jak mówisz zmiennych
b) mnożenie, dodawania. Za trudne ?
c) drukowanie
Z czym masz problem?
Czy wszystkie punkty muszą być w środku tego prostokąta? Jak tak to znacznie uprości zadanie i przyśpieszy obliczenia, bo tylko skrajne będą się liczyć
Odpowiedź zawsze 0
dla podanych na wykresie danych w punkcie Left=2, Top=-2, Right=2, Bottom=-2
Jeżeli zaś wszystkie muszą być w środku to:
Top=max(Pi.y)-2
Bottom=min(Pi.y)+2
Right=max(Pi.x)+2
Left=min(Pi.x)-2
Wynik: (max(Pi.y)-min(Pi.y)+4)*(max(Pi.x)-min(Pi.x)+4)
Nawet nie musisz gromadzić tych punktów.
_13th_Dragon napisał(a):
Odpowiedź zawsze
0
dla podanych na wykresie danych w punkcieLeft=2, Top=-2, Right=2, Bottom=-2
Jeżeli zaś wszystkie muszą być w środku to:
Top=max(Pi.y)-2
Bottom=min(Pi.y)+2
Right=max(Pi.x)+2
Left=min(Pi.x)-2
Wynik:(max(Pi.y)-min(Pi.y)+4)*(max(Pi.x)-min(Pi.x)+4)
Nawet nie musisz gromadzić tych punktów.
Małe pytanie - jak uzyskać te punkty bez ich gromadzenia w taki sposób, by użytkownik programu mógł sam wybrać ilość zmiennych, a także wpisać te punkty?
Dzięki z góry.
użytkownik nie musi wiedzieć nic o zmiennych.
Ogarniasz pętle?
Zapytujesz o współrzędne, nie ważne czy o jedną, czy o sto - za każdym razem zapamiętujesz tylko skrajne wartości - do tego wystarczą cztery zmienne.
Da się program napisać bez tablic, średniozaawansowanyprogramisto.
areksum napisał(a):
Zapytujesz o współrzędne, nie ważne czy o jedną, czy o sto - za każdym razem zapamiętujesz tylko skrajne wartości - do tego wystarczą cztery zmienne.
Da się program napisać bez tablic, średniozaawansowanyprogramisto.
No bez przesady, mi wychodzi że minimum 7: Count,Py,Px,MinPy,MaxPy,MinPx,MaxPx
import math
v = input("Podaj współrzędne x swoich punktów: ").split()
v = [int(x) for x in v]
z = input("Podaj współrzędne y swoich punktów: ").split()
z = [int(x) for x in z]
a = max(z)
b = min(z)
c = max(v)
d = min(v)
dlugosc1 = len(v)
dlugosc2 = len(z)
if dlugosc1 != dlugosc2:
print ("Należy wpisać po tyle samo współrzędnych x i y")
else:
wynik = ((a-b+4)+(c-d+4))*2
print ("Wynik to:")
print (wynik)
input("\nAby zakończyć program naciśnij klawisz Enter.")
@areksum, @_13th_Dragon - napisałem coś takiego. Spełnia swoje zadanie i poprawnie wylicza minimalny obwód dla podanego warunku. Dziękuję za pomoc!