2017-12-31 135 views
1

これは簡単だと思ったけど...ユーザーには右肩上がりと下垂れの両方を入力させ、後でプログラムで入力を行います。ここで問題がありますが、私はユーザーにdecinationまたはright ascensionを10進形式で入力できるようにする方法を知っていますが(decination = +29.9400としましょう)、ユーザーにH:M:Sのような入力を許可するにはどうすればいいですか? :arcM:この29 56 24右肩上がりと下降のユーザ入力

のようなアークが

+0

多く、これを達成するための方法、あなたは、ユーザーが入力をフォーマットする方法に応じて、しかし、1つの方法は、このような整数リストにデータを取得することができます 'HMS =リスト(マップ(int型、入力( "input hms:")。split( ''))) 'と入力すると、ユーザ入力' 29 56 24 'は整数のリストとして 'hms'変数に保存されます:' [29、56、24] ' – davedwards

答えて

0

ありがとう、あなたが入力にあなたが好きで、後でそれを解析したいどのような方法でデータをユーザーに許可することができない理由は本当にありません。これを行うには、文字列を使用します。どちらかすぐ以降

userInput = raw_input("Enter the declination as HH:MM:SS - ") 
hours, minutes, seconds = userInput.split(":") 

を、あなたは適切であるとして、整数としてこれらを解釈することができます。明らかに、スプリットを実行する前に、ストリングを検査して正しいフォーマットであることを確認する必要があります。

+0

これが助けられたならば、答えをupvoteして受け入れてください。 –

0

スペースで区切られた数字を受け入れることができ、そのスペースがどこにあるかに基づいて数字のリストを分割することができます。 そう

# 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 
関連する問題