如何使用while循环在python中创建乘法表?

如何使用while循环在python中创建乘法表?,python,python-3.x,while-loop,Python,Python 3.x,While Loop,这是我的代码,它输出一个乘法表,但它不是我想要的 num = int(input("Multiplication using value? : ")) while num <= 10: i = 1 while i <= num: product = num*i print(num, " * ", i, " = ", product, "\n") i = i + 1 print("\n") num =

这是我的代码,它输出一个乘法表,但它不是我想要的

 num = int(input("Multiplication using value? : "))

while num <= 10:
    i = 1
    while i <= num:
        product = num*i
        print(num, " * ", i, " = ", product, "\n")
        i = i + 1
    print("\n")
    num = num + 1

这是我第一次学习Python,我可以在网上找到任何帮助,请帮助

您有很多逻辑错误。请查看此更新代码:

num = int(input("Multiplication using value : "))

i=1 #you haven't initialized this variable
while i <=num:
    j=1
    while j <= num:
        product = i*j #updated
        print(i, " * ", j, " = ", product, "\n") #updated
        j = j + 1
    print("\n")
    i = i + 1

你有很多逻辑错误。请查看此更新代码:

num = int(input("Multiplication using value : "))

i=1 #you haven't initialized this variable
while i <=num:
    j=1
    while j <= num:
        product = i*j #updated
        print(i, " * ", j, " = ", product, "\n") #updated
        j = j + 1
    print("\n")
    i = i + 1

即使您发布的代码根本不是pythonic(它非常接近于用C语言编写的代码),它也几乎可以工作:只需最少的修改,就可以按如下方式进行修复,以提供预期的输出:

numInput = int(input("Multiplication using value? : "))
num = 1

while num <= numInput:
    i = 1
    while i <= numInput:
        product = num*i
        print(num, " * ", i, " = ", product)
        i = i + 1
    print("")  # no need to add explicit newline character because it is automatically added
    num = num + 1

即使您发布的代码根本不是pythonic(它非常接近于用C语言编写的代码),它也几乎可以工作:只需最少的修改,就可以按如下方式进行修复,以提供预期的输出:

numInput = int(input("Multiplication using value? : "))
num = 1

while num <= numInput:
    i = 1
    while i <= numInput:
        product = num*i
        print(num, " * ", i, " = ", product)
        i = i + 1
    print("")  # no need to add explicit newline character because it is automatically added
    num = num + 1

对于这个问题,它更容易用于循环

num = int(input("Multiplication using value? : "))

for left in range(1,num+1):  # 1st loop
    for right in range(1,num+1): # 2nd loop (nested)
        print(left, " * ", right, " = ", left * right)
    print() # newline
要理解这个问题,请查看两个被乘数:左被乘数和右被乘数

左被乘数从(1-->num)开始,因此是第一个for循环


然后,对于左被乘数的每个值,右被乘数从(1-->num)开始,因此第二个循环嵌套在第一个循环中。

对于这个问题,更容易用于循环

num = int(input("Multiplication using value? : "))

for left in range(1,num+1):  # 1st loop
    for right in range(1,num+1): # 2nd loop (nested)
        print(left, " * ", right, " = ", left * right)
    print() # newline
要理解这个问题,请查看两个被乘数:左被乘数和右被乘数

左被乘数从(1-->num)开始,因此是第一个for循环


然后,对于左被乘数的每个值,右被乘数从(1-->num)开始,因此第二个循环嵌套在第一个循环中。

你手上有一个无限循环的原因是因为你每次运行时都将
i
num
进行比较,同时也会增加
num
。如果您确保
i
始终是
,那么您手上有一个无限循环的原因是您将
i
num
进行比较,同时每次跑步时都会增加
num
。如果在Python 3.6+中确保
i
始终是
,则可以将f字符串与嵌套的
一起用于
循环:

num = int(input("Multiplication using value? : "))

for i in range(1, num+1):
    for j in range(1, num+1):
        print(f'{i} * {j} = {i*j}')

Multiplication using value? : 3
1 * 1 = 1
1 * 2 = 2
1 * 3 = 3
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9

在Python 3.6+中,可以将f字符串与嵌套的
for
循环一起使用:

num = int(input("Multiplication using value? : "))

for i in range(1, num+1):
    for j in range(1, num+1):
        print(f'{i} * {j} = {i*j}')

Multiplication using value? : 3
1 * 1 = 1
1 * 2 = 2
1 * 3 = 3
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9

乘法表1至10

for x in range(1,11):
  for y in range(1,11):
    print(x*y, end='\t')
  print()
  print()

乘法表1至10

for x in range(1,11):
  for y in range(1,11):
    print(x*y, end='\t')
  print()
  print()

输入任意数字,以在10次迭代中获得正常的多表(命名法)

num = int(input("Input a number: ")) 
# use for loop to iterate 10 times
for i in range(1,11):
   print(num,'x',i,'=',num*i)

输入任意数字,以在10次迭代中获得正常的多表(命名法)

num = int(input("Input a number: ")) 
# use for loop to iterate 10 times
for i in range(1,11):
   print(num,'x',i,'=',num*i)
num=int(输入('输入您想要乘法表的数字:'))
i=1
而i
num=int(输入('输入您想要乘法表的数字:'))
i=1

while i使用while
循环创建乘法表如下所示:

b =  int(input('Enter the number of the multiplicaction table : '))

print('The multiplication table of '+ str(b) + 'is : ')

a=0

while a<=11:
    a=a+1
    c= a*b
    print( str(b)+' x '+str(a)+' ='+str(c))

print('done!!!!')
b=int(输入('输入被乘数表的编号:'))
print(“+str(b)+”的乘法表为:”)
a=0

而使用
while
循环创建乘法表如下所示:

b =  int(input('Enter the number of the multiplicaction table : '))

print('The multiplication table of '+ str(b) + 'is : ')

a=0

while a<=11:
    a=a+1
    c= a*b
    print( str(b)+' x '+str(a)+' ='+str(c))

print('done!!!!')
b=int(输入('输入被乘数表的编号:'))
print(“+str(b)+”的乘法表为:”)
a=0

在python中使用while循环的乘法表

num = int(input("enter the number= "))
i = 1

while i<=10:
    print(num, "X", i, "=", num * i)
    i = i+1

python中使用while循环的乘法表

num = int(input("enter the number= "))
i = 1

while i<=10:
    print(num, "X", i, "=", num * i)
    i = i+1

它能做什么?这不是你想要的?@khelwood它能打印10张桌子,但是,我希望它将表格打印到示例中给出的用户输入。如果您在问题中包括您的实际输出以及您的预期输出,它将帮助人们理解您的问题。它的功能不是您想要的吗?@khelwood it将表格打印到10,但是,我希望它将表格打印到示例中给出的用户输入。如果您在问题中包括实际输出以及预期输出,它将帮助人们理解您的问题。问题是“如何使用
while
循环”,同时您根据
for
提出答案。如果您认为使用
while
循环解决问题是不可能的,您应该解释原理,否则您应该针对
循环提出答案。如果是这种情况,您可以解释为什么wsing
while
循环可能效率低下。问题是“如何使用
while
循环”,同时您可以根据
提出答案。如果您认为使用
while
循环解决问题是不可能的,您应该解释原理,否则您应该针对
循环提出答案。如果是这种情况,您可以解释为什么wsing
while
循环可能是低效的。例如,供将来参考:建议“在末尾加上break只会给出所需的数字表”;这篇编辑的本意是针对这篇文章的作者,作为编辑毫无意义。它应该是作为一个评论或回答来写的。作为将来的参考:建议的“在末尾加上中断只会给出所需的数字表”;这篇编辑的本意是针对这篇文章的作者,作为编辑毫无意义。它应该写为一个评论或回答。欢迎使用堆栈溢出!虽然这段代码可以解决这个问题,但如何以及为什么解决这个问题将真正有助于提高您的帖子质量,并可能导致更多的投票。请记住,你是在将来回答读者的问题,而不仅仅是现在提问的人。请在回答中添加解释,并说明适用的限制和假设。欢迎使用堆栈溢出!虽然这段代码可以解决这个问题,但如何以及为什么解决这个问题将真正有助于提高您的帖子质量,并可能导致更多的投票。请记住,你是在将来回答读者的问题,而不仅仅是现在提问的人。请在回答中添加解释,并说明适用的限制和假设。