使用python

时间:2017-09-08 15:56:06

标签: python

使用几何差异int(8/5 * n-(3/2))计算下一个连续值。然后使用几何级数中的值显示数字网格。网格完成后,程序应显示网格中所有值的算术总和。

示例结果是:

Number of rows: 6
Starting integer: 8 
Geometric difference: <display algorithm  here>

Your gird with 6 rows starting with 8 is:

8     11    16    24   36   56
88    139   220   350  558
891   1424  2276  3640
5822  9313  14899
23836 38136
61016

我做了:

r = eval(input("number of rows:"))
i = eval(input("Starting integer:"))
g = eval(input("Geometric difference:"))

input("Your grid with"  "rows starting with" "is:")
for y in range(c):
    for x in range(r):
        print( i, ' ', end=' ')
        i += 1
    print ()

它不起作用,我应该在哪里修复?

1 个答案:

答案 0 :(得分:1)

eval用于评估python代码。你根本不需要它。如果要将输入用作整数,则必须使用int()(或float()作为浮点值等)。

请将您的前三行改为:

r = int(input("number of rows:"))
i = int(input("Starting integer:"))
g = int(input("Geometric difference:"))

input用于输入内容。

input("Your grid with"  "rows starting with" "is:")

我想在这里你要print某事;因此,你应该使用:

print("Your grid with {0} rows starting with {1} is:".Format(r, i))

这至少可以解决代码的语法错误。但是你应该在第一篇文章中提供有关你想要解决的问题的更多信息(以及如何计算序列)。

编辑:这将产生你的输出:

for y in range(r):
    for x in range(r-y):
        print( i, ' ', end=' ')
        i=int(8*i/5-1.5)
    print()