2016-12-27 8 views
0

私は、基本的な物理問題の解決策をコーディングして、Pythonのプログラミングスキルを磨くようにしています。ユーザが入力を選択できるようにする

この問題は、宇宙船が地球から目的地に向かって速度vで距離x移動していることを示しています。私は、地球上の静止した観測者によって経過した時間と、宇宙船に搭乗した乗客が経過した時間を見つけることです。 xとvに値を代入するのではなく、ユーザーがxとvの値を入力できるようにするのですが、ユーザーがデータの入力方法を選択できるようにしたいと考えています。例えば、ユーザはv =いくつかの数値をメートル/秒単位で入力することができ、またはユーザはv = a * cを置くことができ、ここで、0≦a≦1であり、c =私はユーザーにどの入力が優先されるかを決定させたいと思っています。

ユーザーに値を入力する方法を理解しています。 例: x = float(入力(「宇宙船がどの程度の距離を移動しましたか」)

しかし、どのようなvを入力するかをユーザーに決定させるにはどうすればよいですか?

+0

を使用し、文字列の最後の文字を取得するには、SOへようこそ。読者が質問を理解しやすくするために、また「速度入力戦略の選択」も変数に入力しないで、その後にその値に基づいて一致する速度入力プロンプトを提示するように、コードの書式設定を試みることをお勧めします。また、いくつかの最善の努力のサンプルコードが素晴らしいだろう。 ifステートメントを含む – Dilettant

+0

。ユーザーに2つの選択肢を与えることができます。選択肢1、プリセット値a * cをv。選択肢2として使用し、ユーザーにvを入力するように促すか、データを解析することができます。 – TheLazyScripter

+0

else文ブロックの場合https://www.tutorialsp.com/jp/python/python_if_else.htm – harshil9968

答えて

1

Possiblility 1:二つの質問

input(...)は、文字列を返します。したがって、あなたはその後、ユーザがafを入力したかどうかをテストするためにif/elseブロックを使用ラ

Which input format is preferred? ([a]bsolute/[f]raction of c) > 

A、入力スタイルが好まれているユーザーに確認することができます。

その後、別の質問

Enter the desired speed (number) > 

を尋ねると、あなたは(float(input(...)))の上に行っているだけのように浮遊して入力を変換

可能性2

あなたは

のような質問をすることができます
Enter spaceship speed: 

とし、最後の文字whユーザーが入力した文字は、cです。次に、光速の割合として数値を使用します。そうでない場合は、その数値を絶対速度として使用します。

s = 'abc' 
lastcharacter = s[-1] 
+0

ありがとうございます。私は特に2番目の方法が好きですが、複数の方法を示すことに本当に感謝しています。 – mikey

関連する問題