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

question-closed Jak zrobić żeby wyskakiwał komunikat o błędzie i ponowną próbę wpisania danych w programie.?

Cloud VPS
0 głosów
198 wizyt
pytanie zadane 3 lutego 2020 w Python przez RaDeK-2020 Użytkownik (670 p.)
zamknięte 6 lutego 2020 przez RaDeK-2020
import numpy as np
import matplotlib.pyplot as plt
import math

a = float(input("Podaj wartość x wektora AB: "))
b = float(input("Podaj wartość y wektora AB: "))

c = float(input("Podaj wartość x wektora DC: "))
d = float(input("Podaj wartość y wektora DC: "))

f = int(input("Wybierz działanie: 1 - suma, 2 - różnica, 3 - iloczyn, 4 - długość wektora: "))

# punkt_zero = [0,0]

def iloczyn():
    ktora = input("Który wektor ma być mnożony: a - AB czy b - DC ?")
    i = float(input("o ile pomnożony ma być wktor: "))
    if (ktora == "a" or ktora == "A"):
        iloczynA = i*a
        iloczynA1 = i*b
        suma_iloczynowA = [iloczynA, iloczynA1]
        print(suma_iloczynowA)
        plt.plot(0,0, iloczynA, iloczynA1, color="red")
        plt.show()
    elif (ktora == "b" or ktora == "B"):
        iloczynB = i*c
        iloczynB1 = i*d
        suma_iloczynowB = [iloczynB, iloczynB1]
        print(suma_iloczynowB)
        plt.plot(0,0, iloczynB, iloczynB1, color="blue")
        plt.show()

def odlegloscWektora():
    jakiWektor = input("Dla jakiego wektora chcesz obliczyć oldegłość? Wybierz: 1 - AB, 2 - DC")
    if (jakiWektor == "1"):
        odlegloscAB = math.sqrt((a*a)+(b*b))
        print("|AB| =", odlegloscAB )
        print("|AB| ≈", round(odlegloscAB))
    elif (jakiWektor == "2"):
        odlegloscDC = math.sqrt((c*c)+(d*d))
        print("|DC| =", odlegloscDC )
        print("|DC| ≈", round(odlegloscDC))

def KierunekZwrot():
    if ((a/c) == (b/d)):
        print("Wektory mają ten sam kierunek")
        if ((a/c) >= 0 or (b/d) >= 0):
            print("Wektory mają ten sam zwrot")
        else:
            print("Wektory mają przeciwny zwrot")
    else:
        print("Wektory mają przeciwny kierunek")


if(f == 1):
    suma = a+c
    suma1 = b+d
    s = [suma, suma1]
    print("Suma wektora AB i DC to: ",s)
    plt.plot(0,0, [suma, suma1], color="green")
    plt.show()

elif(f == 2):
    roznica = a-c
    roznica1 = b-d
    r = [roznica, roznica1]
    print("Różnica wektora AB i DC to: ",r)
    plt.plot(0,0, roznica, roznica1, color="blue")
    plt.show()


elif(f == 3):
    iloczyn()

elif(f == 4):
    odlegloscWektora()

KierunekZwrot()

Cześć!

Poniżej wkleiłem kod mojego programu, który oblicza wektory. Chciałbym żeby wyskakiwał błąd napisany przeze mnie i program kazał dla użytkownika wpisać ponownie dane. Myślałem o try i catch jak to jest w c# ale nie do końca rozumiem ją w Pythonie. Chętnie poczytam poradniki o tej funkcji.  I przy okazji jak zrobić żeby to wyglądało prędzej jak układ współrzędnych i wektor. Dopiero się uczę tej biblioteki. 

Z góry dziękuję za pomoc!! 

komentarz zamknięcia: .

1 odpowiedź

+1 głos
odpowiedź 4 lutego 2020 przez xnerwo Gaduła (3,270 p.)
wybrane 6 lutego 2020 przez RaDeK-2020

Podobne pytania

0 głosów
2 odpowiedzi 2,152 wizyt
pytanie zadane 6 października 2015 w C i C++ przez niezalogowany
0 głosów
0 odpowiedzi 320 wizyt
pytanie zadane 12 sierpnia 2020 w C i C++ przez sebaaas Początkujący (350 p.)

93,454 zapytań

142,449 odpowiedzi

322,718 komentarzy

62,833 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

Kursy INF.02 i INF.03
...