2017-07-13 3 views
-1

Ich entschuldige mich, wenn meine Frage ein wenig verwirrend ist, denn um ehrlich zu sein, bin ich nicht 100% sicher, was ich versuche, entweder zu tun. Ich habe ein Programm, das den Benutzer nach einem Abfahrtsdatum und einer Abfahrtszeit fragt, also werde ich mit einer Eingabe von etwas enden - wie 2017-11-11 und 11:15 AM. Das Programm fragt dann den Benutzer nach einer Anzahl von Meilen, die sie fahren werden, und nach der Geschwindigkeit in Meilen pro Stunde. Also könnten sie 300 Meilen und 65 Meilen für MPH eingeben. Ich muss diese Informationen verwenden, um eine geschätzte Ankunftszeit zu erstellen, aber ich habe nicht die geringste Ahnung, wie das geht. Mein Programm hat kein Problem diese Informationen zu erhalten, ich muss nur wissen, wie man die Berechnung ausarbeitet.Python 3 Wie kann ich die Benutzereingabe von MPH und Miles in timedelta konvertieren?

Bearbeiten: Hier ist ein Beispiel für meinen Code, so dass es leichter zu verstehen ist, was ich tue.

def get_departure_time(): 
while True: 
    date_str = input("Enter departure time (HH:MM AM/PM): ") 
    try: 
     depart_time = datetime.strptime(date_str, "%H:%M %p") 
    except ValueError: 
     print("Invalid date format. Try again.") 
     continue 
    return depart_time 

Die Funktion das Abreisedatum zu erhalten, ist genau das gleiche, so die Benutzereingabe für diese beiden Werte verwendet, und die Benutzereingabe für Meilen und Meilen pro Stunde Ich habe eine Ankunftszeit zu erstellen.

+1

Verstehen Sie, wie man es mathematisch macht? Ich würde empfehlen, dort zu beginnen und das Programm daraus zu entwickeln. Wie es aussieht, ist diese Frage zu weit gefasst und fordert uns einfach auf, Ihre Arbeit für Sie zu tun. Wenn Sie nur Probleme beim Konvertieren eines Gleitkommawerts in die Zeit haben (was unklar ist), lesen Sie: [diese Frage] (https://stackoverflow.com/questions/27496889/converting-a-float-to-hhmm-format) – JGreenwell

+0

Haben Sie eine schau [hier] (http://physics.tutorvista.com/motion/speed.html). –

Antwort

0
num_hours = distance/mph 
arrival_time = departure_time + num_hours 

Nicht sicher, ich verstehe Ihre Frage, aber ist das, was Sie suchen?

+0

Das ist im Wesentlichen, was ich versuche zu tun, aber ich muss einen Weg finden, Modulo und Timedelta zu verwenden, um die Zeit bis zum Abreisedatum tatsächlich hinzuzufügen und das Ankunftsdatum zu erstellen. –

+0

'flight_time = timedelta (Stunden = num_hours)' und dann sollten Sie arithmetisch mit Ihrem 'flight_time'-Objekt einschließlich der Modulo-Operationen arbeiten können. Sie können die verschiedenen Darstellungen von Zeit wie 'flight_time.hours' oder' flight_time.minutes' referenzieren. – zfisher

Verwandte Themen