使用几何差异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 ()
它不起作用,我应该在哪里修复?
答案 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()