2017-12-31 127 views
1

Ich dachte, dass dies einfach wäre, aber ... Ich möchte, dass der Benutzer sowohl Rektaszension und Deklination eingeben und später im Programm werde ich auf ihre Eingabe handeln. Hier ist das Problem, ich weiß, wie man dem Benutzer Deklination oder Rektaszension im Dezimalformat geben kann (sagen wir Deklination = +29.9400), aber wie erlaube ich dem Benutzer, H: M: S wie diese 12 56 24 oder D einzugeben ARCM: ARCS wie dieser 29 56 24Benutzer Eingabe von Rektaszension und Deklination

Danke

+0

viele Möglichkeiten, dies zu erreichen, je nachdem, wie Sie die Benutzer wollen die Eingabe zu formatieren, sondern eine Art und Weise könnten die Daten in eine Integer-Liste wie diese zu erhalten sein: 'hms = list (Karte (int , Eingabe ("input hms:") .split (''))) ', dann speichert die Benutzereingabe' 29 56 24' in 'hms' Variable als Liste der Ganzzahlen:' [29, 56, 24] ' – davedwards

Antwort

0

es gibt wirklich keinen Grund, dass Sie nicht den Benutzer zur Eingabe der Daten in irgendeiner Weise erlauben können, die Sie möchten und es später analysieren. Verwenden Sie dazu eine Zeichenfolge:

Entweder sofort oder später können Sie diese als Ganzzahlen interpretieren, wie es angemessen ist. Sie sollten die Zeichenfolge natürlich überprüfen, um sicherzustellen, dass sie vor der Aufteilung korrekt formatiert ist.

+0

Wenn das hilft, dann bitte upvote und akzeptiere die Antwort. –

0

Sie könnten die durch ein Leerzeichen getrennten Zahlen akzeptieren und dann eine Liste mit den aufgeteilten Zahlen basierend darauf, wo das Leerzeichen ist. so

# example enter H:M:S separated by a space like 1 2 3 

lNum = [int(x) for x in input().split()] 



#if I enter 1 2 3 the resulting list will be[1,2,3] 
#then you can just access lNum[0] lNum[1] and lNum[2] however you need 
Verwandte Themen