【发布时间】:2017-02-18 18:53:16
【问题描述】:
我是 Python 的真正初学者,尽管到目前为止我很喜欢它的每一分钟。
我正在制作一个小程序,它接受用户输入,然后用它做一些事情。我的问题是用户输入的数字必须
(1) 所有加起来不超过一个(即 a1+ a2+ a3 \leq 1)
(2) 每一个都是
到目前为止,这是我的代码(只是必不可少的中间部分):
num_array = list()
a1 = raw_input('Enter percentage a (in decimal form): ')
a2 = raw_input('Enter percentage b (in decimal form): ')
...
an = raw_input('Enter percentage n (in decimal form): ')
li = [a1, a2, ... , an]
for s in li:
num_array.append(float(s))
而且我很想构建一些东西,如果用户的输入超出要求,则要求用户重新输入内容
a1+a2+a3 >1
或者说a1>1、a2>1、a3>1等
我觉得这很容易实现,但我的知识有限,我被卡住了!
任何帮助将不胜感激:-)
【问题讨论】:
-
我看到您需要先读取一个 n ,这是用户将输入的百分比数。之后,您应该重复阅读百分比 n 次(使用 for 语句来实现此目的)。现在,您可以在阅读时添加验证,或在最后添加每个百分比低于 1 的验证。最后,您将添加所有值并验证它们的总和不大于 1。在所有这些代码上永远重复,并且仅在您喜欢时退出,因此如果任何验证失败,您将重新开始。
-
谢谢@gplayer 和@WalR!这些都是非常有用的建议,感谢您让我思考答案,而不仅仅是给我一个:-)