2016-12-27 134 views
0

我想通過編碼解決基本物理問題來提高我的python編程技能。允許用戶選擇輸入

這個問題表明,宇宙飛船正以速度v從地球向目的地前進x距離。我要找出地球上靜止的觀察者經過的時間以及乘坐飛船的乘客所經歷的時間。我不是給x和v賦值,而是允許用戶輸入x和v的值。但是,我想讓用戶選擇他們想如何輸入他們的數據。例如,用戶可以將v =某個數字以米/秒爲單位,或者用戶可以將v = a * c置於其中0≤a≤1且c =光速;我想讓用戶決定哪個輸入是首選。

我明白如何讓用戶輸入一個值。 ex: x = float(輸入(「太空飛船旅行的距離:」))

但是我怎樣才能讓用戶決定他們想輸入哪個v?

+0

歡迎SO。我建議嘗試使用代碼格式,以便讀者更容易理解問題,並且爲什麼不將「速度輸入策略選擇」也輸入到變量中,然後根據該值提供匹配的速度輸入提示?另外一些最好的努力工作示例代碼會很好。帶有if語句的 – Dilettant

+0

。你可以給用戶2個選擇。選擇1,使用預設值a * c作爲v。選項2,提示用戶輸入v或者您可以解析數據。 – TheLazyScripter

+0

如果其他語句塊https://www.tutorialspoint.com/python/python_if_else.htm – harshil9968

回答

1

Possiblility 1:兩個問題

input(...)返回一個字符串。因此你可以要求輸入風格是優選的,其中用戶,點菜

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

然後使用if/else塊以測試用戶是否已經進入或af

隨後,問另一個問題

Enter the desired speed (number) > 

和轉換輸入浮動,就像你在上面所做的(float(input(...))

可能性2

你可以問這樣

問題
Enter spaceship speed: 

並測試最後一個字符wh由用戶輸入的是c。然後你用這個數字作爲光速的一小部分。否則,您使用該數字作爲絕對速度。

得到一個字符串的最後一個字符,使用

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

謝謝。我特別喜歡第二種方法,但我非常感謝你向你展示多種方法。 – mikey

相關問題