精华内容
下载资源
问答
  • 用python 打印九九乘法表,代码如下: # 九九乘法表 for i in range(1, 10): for j in range(1, i+1): print('{}x{}={}\t'.format(j, i, i*j), end='') print() 执行结果如下图: ...

    用python 打印九九乘法表,代码如下:

    第1种方式: 使用for-for

    # 九九乘法表
    for i in range(1, 10):
        for j in range(1, i+1):
            print('{}x{}={}\t'.format(j, i, i*j), end='')
        print()
    

    执行结果如下图:
    在这里插入图片描述

    第2种方式: 使用while-while

    # 九九乘法表
    i = 1
    while i <= 9:
        j = 1
        while(j <= i):    # j的大小是由i来控制的
            print('%d*%d=%-3d' % (i, j, i*j), end='\t')
            j += 1
        print('')
        i += 1
    

    执行结果如下图:
    在这里插入图片描述

    第3种方式: 使用while-for

    i = 1
    while(i <=9):
        for j in range (1,i+1): #range()函数左闭右开
            print('%d*%d=%-3d'%(i,j,i*j),end='')
        i += 1
        print()
    
    

    在这里插入图片描述

    第4种方式: 使用for-while

    for i in range(1,10):
        j = 0
        while j < i:
            j += 1
            print("%d*%d=%-3d"%(i,j,i*j),end='')
        print( )
    

    在这里插入图片描述

    第5种方式: 定义一个变量a

    a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
    for i in a:
        j = 1
        while j <= i:
            print('%d*%d=%-3d'%(i,j,i*j),end='\t')
            # %-3d 是控制输出结果占据3位,且从左面开始对齐
            j += 1
        print( )
    

    执行结果如下图:
    在这里插入图片描述

    第6种方式: 使用1行语句

    print('\n'.join([' '.join(["%2s x%2s = %2s" % (j, i, i*j) for j in range(1, i+1)]) for i in range(1, 10)]))
    
    

    上面的一行代码优化之后:

    print('\n'.join([' '.join([f"{j}x{i}={i*j}" for j in range(1, i + 1)]) for i in range(1, 10)]))
    

    执行结果如下图:
    在这里插入图片描述

    展开全文
  • 打印九九乘法表

    2016-12-22 19:40:31
    打印九九乘法表

    问题描述:打印九九乘法表

    解决方法:使用两重循环,一重循环,或者递归都可以解决

    代码示例:

    package cn.ccnu.demo1;
    
    public class Demo3 {
    	//使用两重循环打印九九乘法表
    	public static void getTableTwoFor(){
    		for(int i=1; i<=9; i++){
    			for(int j=1; j<=i; j++){
    				System.out.print(j+"*"+i+"="+i*j+" ");
    			}
    			System.out.println();
    		}
    	}
    	//使用一重循环打印九九乘法表
    	public static void getTableOneFor(){
    		for(int i=1, j=1; j<=9; i++){
    			System.out.print(i+"*"+j+"="+i*j+" ");
    			if(i == j){
    				i = 0;
    				j++;
    				System.out.println();
    			}
    		}
    	}
    	//不使用循环,使用递归打印九九乘法表
    	/*
    	 * 使用递归打印九九乘法表的算法:
    	 * 1,根据分析可以得知,九九乘法表的第N行有N个小式子
    	 * 2,第N-1行比第N行少一个式子
    	 * 3,第1行只要一个式子(递归的结束条件)
    	 */
    	public static void getTableNoFor(int num){
    		if(num == 1){
    			System.out.print("1 * 1 = 1");
    			System.out.println();
    		}else{
    			getTableNoFor(num - 1);
    			print(1, num);
    			System.out.println();
    		}
    	}
    
    	private static void print(int i, int num) {
    		if(i <= num){
    			System.out.print(i+"*"+num+"="+i*num+" ");
    			print(++i, num);
    		}
    	}
    	
    	public static void main(String[] args) {
    		getTableTwoFor();
    		getTableOneFor();
    		getTableNoFor(9);
    	}
    }
    

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,130
精华内容 1,252
关键字:

打印九九乘法表