繁体   English   中英

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

[英]How do I use while loops to create a multiplication table in python?

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

 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

我基本上是从 1-9 的用户输入创建一个乘法表。

前任。 如果用户输入“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,我可以在网上找到任何帮助,请帮助

您手上有一个无限循环的原因是因为您将inum进行比较,同时每次运行时都会增加num 如果您确保i始终<= 10 ,您将获得所需的输出:

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

即使您发布的代码根本不是 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的方式,您还可以执行以下操作:

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

for i in range(1,numInput+1):
    for j in range(1,numInput+1):
        print(i, " * ", j, " = ", i*j)
    print("")

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

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 : "))

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

输出(对于输入 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+ 中,您可以使用带有嵌套for循环的 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中使用while循环的乘法表

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

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

输出

enter the number= 33
33 X 1 = 33
33 X 2 = 66
33 X 3 = 99
33 X 4 = 132
33 X 5 = 165
33 X 6 = 198
33 X 7 = 231
33 X 8 = 264
33 X 9 = 297
33 X 10 = 330

乘法表 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)
num = int(input('Enter the number you want the multiplication table for:'))
i=1
while i<=10:
product = num*i
print(product)
i=i+1 

print('Thank you')

使用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!!!!')
num = int(input("Enter the number: "))
i = 1

print("Mulltiplication of number:", num)

while i<=10:
    print(f"{num}X{i}={num*i}")
    i = i + 1

在 python 中创建乘法表:

name=int(input("Enter the number of multiplication"))

i=1
  
while(i<=10):

print(str(name)+"X"+str(i)"="+str(name*i))

i=i+1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM