虽然循环python,s = s + 1
问题描述:
我试图做一个程序,会要求2个值,s和n。 然后它会打印s * n s> 0,直到达到s。 例如我们进入5秒和3 n个 输出应该是:虽然循环python,s = s + 1
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)
答
你可以试试:
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))
答
问题是s
等于5
,如果s>0
你将while循环执行,但你总是增加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))
答
有很少的理由递增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)
通过b-1
生产a
。
.format
是一种从参数中构造字符串的有效方法。
参考文献:
如果用户对于s设定5和3为N,您的代码输出:1×5 = 5 2×5 = 10 3 * 5 = 15 ,那不符合@jake的需要。 – PageNotFound 2015-03-31 07:57:48
你是对的,是变量名称的错误。谢谢! – gabriel 2015-03-31 08:04:31