我试图制作一个要求2个值s和n的程序。 然后它将为s> 0打印s * n,直到它达到s。 例如,我们为s输入5,为n输入3 输出应为:
1 * 3 = 3
2 * 3 = 6
3 * 3 = 9
4 * 3 = 12
5 * 3 = 15
我知道以下代码完全错误,因为“s * n =”是一个字符串。但我不知道怎么做。
s = int(input("Enter a number: "))
n = int(input("Enter a number: "))
while s>0:
s = s+1
print("s * n =", s*n)
答案 0 :(得分:0)
您可以尝试:
s = int(input("Enter a number: "))
n = int(input("Enter a number: "))
index = 0
while index < s:
index = index + 1
print("{} * {} = {}" .format(index, s, index * s))
答案 1 :(得分:0)
问题是s
等于5
,如果s>0
你将在循环时执行,但你总是增加s
,这意味着while循环永远不会停止。
我想你可以试试:
s = int(input("Enter a number: "))
n = int(input("Enter a number: "))
i = 0
while i < s:
i += 1
print("%d * %d = %d" % (i, n, i*n))
答案 2 :(得分:0)
很少有理由在Python中增加计数器。如果迭代列表,请使用for object in objects:
。如果您需要索引,请使用for index,object in enumerate(objects)
。在您的情况下,有range
:
s = int(input("Enter a number: "))
n = int(input("Enter a number: "))
for i in range(1,s+1):
print('{} * {} = {}'.format(i,n,i*n))
输出:
Enter a number: 5
Enter a number: 3
1 * 3 = 3
2 * 3 = 6
3 * 3 = 9
4 * 3 = 12
5 * 3 = 15
请注意,range(a)
生成0
到a-1
,range(a,b)
生成a
到b-1
。
.format
是一种从参数构造字符串的强大方法。
参考文献: