• 99乘法表


    蓝色为代码,其余为注释

    方法一:

    '''
    99乘法表每一行乘号后面一位数都是不变的
    如:
    1*X 2*X 3*X 4*X 5*X
    X 肯定是需要在一行打印循环中是不变的
    而外层for循环在 一行打印循环中是不会变的
    所以用外层for循环的变量值来赋值 X
    '''
    for i in range(1,10):
    '''
    在每一行打印的循环中 i 是不变的
    所以 i 要在打印中存在于乘号后面的那一位数
    '''
    for j in range(1,i + 1):
    '''
    这行代码决定了每一行需要一次乘几次
    每一行乘到最后的时候一定是(X * X)
    乘号前面的数必须要 1 到 X 轮流取一遍跟 X 相乘
    即 乘号前面的数必须要 1 到 X 轮流取一遍跟 i 相乘
    '''
    print('%s * %s = %s' %(i,j,i*j),end= ' ')
    '''
    乘号前面对应的是一直增长的 j
    乘号后面对应的是不变的 i
    结果就是两者的积

    这一行到达最大取值就会停止循环,进行上一缩进级的循环
    这一行每次的最大取值都会伴随着 i 的增加而增加 1

    在打完每一行的内容之后都不会换行
    需要在第一层循环的最后给一个换行操作
    然后再回去循环第一个for循环
    '''
    print()


    方法二:

    for i in range(1, 10):
        str1 = ""
    '''
        一个内容为空的字符串 拼接任何另外有内容的字符串最终结果都是等于另外的字符串的
    二层循环打完一行之后要把被拼接的字符串清零
    不然就会接着上一次循环完之后 产生的上一整行内容的字符串后面进行拼接
        '''
    for n in range(1, i+1):
    # 这样设置range范围之后,第二个for循环的次数就相当于每一行需要乘的次数
    str1 += "%s*%s=%s " % (n, i, n*i)
    '''
    上一行代码其实就是 str1 = str1 + "%s*%s=%s " % (n, i, n*i)
    意为 在字符串 str1 后拼接字符串 ("%s*%s=%s "(n, i, n*i)
    字符串("%s*%s=%s "(n, i, n*i)的内容随着i,n而改变
    而i,n随着循环而变
    每次第二层循环时n都会变,n循环完一整次之后i才会变
    '''
    # 拼接字符串的语法是:'str1'+'str2'
    # 每次循环都会在上一次循环的结果上再次拼接打印形成一个很长的字符串
    '''
    第二个for循环中
    乘后i都是不变的,乘前j的变化次数也是按找规定的range范围次数定的
    而range的范围又是按照规定根据乘后i(行数)来定的
    这样能够恰到好处的打印完一行的所有内容
    '''
    print(str1)
     
  • 相关阅读:
    新标准C++程序设计读书笔记_继承和多态
    新标准C++程序设计读书笔记_运算符重载
    新标准C++程序设计读书笔记_类和对象
    关于在linux中使用图形界面的网络管理工具
    桌面显卡天梯图和桌面cpu天梯图
    关于linux下关于ssd的使用
    archlinux中c语言的rpc编程
    关于eclipse的一些配置
    利用wireshark抓包获取cookie信息
    笔记本中的archlinux调节亮度
  • 原文地址:https://www.cnblogs.com/shuchengyi/p/10582131.html
Copyright © 2020-2023  润新知