2016-12-27 216 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

相关问题