如何用python做一个九九乘法表(中年大叔学编程-用Python打印个九九乘法表)
如何用python做一个九九乘法表(中年大叔学编程-用Python打印个九九乘法表)format采用的是{}占位符的方式 请看示例:print("我的名字叫%(name)s 我今年%(age)d岁 钱包空空的只有%(money).3f元钱" % {"name":"eyiadmin" "age":99 "money":9.99999}) 结果和上面的代码一样刚才在上面的九九乘法表中有用到字符串格式化,那么我们就介绍一下字符串格式化的用法。在Python中字符串格式化有两种:上文的例子就是用的这种方式。下面我们再来针对不同类型写一些简单的示例。print("我的名字叫%s 我今年%d岁 钱包空空的只有%.3f元钱" % ("eyiadmin" 99 9.99999)) 最后没打印出:我的名字叫eyiadmin 我今年99岁 钱包空空的只有10.000元钱 这里会对小
前面简单的介绍了一些基础常用的语法,那么这一篇,我们就来实践一番,写两个小程序,感受一下传说中coding的感觉。
Python打印九九乘法表
先上代码:
result = 0 # 整型变量,用于存储循环时的乘积结果
# 列
for column in range(1 10): # for循环
# 行
for row in range(1 column 1):
result = column*row # 将当前两个数的乘积赋值给result
print('%d*%d=%d' % (row column result) end=' ') # 打印结果
print("")
程序的运行结果:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
代码解说:
- 第一行代码表示定义一个名为result的整型变量。
- 第二行代码中的range(1 10)表示构建一个1-9的list列表 如[1 2 3 4 5 6 7 8 9] for column in range(1 10)表示循环构建好的列表 依次从列表中取出数字赋值给变量column.
- 第三行代码range(1 column 1)意味着当前的list和第一个循环column相关 依次从动态列表取出并赋值给变量row
- 第四行代码表示将result = column*row 表示依次将乘积赋值给变量result。
- 第五行代码是打印,这类涉及到了格式化输出,待会详细讲解一下.print end表示当打印完后再打印end指定的字符 默认是换行符,这里我们用的空格
- 第六行打印空主要是为了换行
Python字符串格式化
刚才在上面的九九乘法表中有用到字符串格式化,那么我们就介绍一下字符串格式化的用法。在Python中字符串格式化有两种:
- 百分号 格式:%[(name)][flags][width].[precision]typecode
- format 格式”{}".format()
百分号
- (name) 可选,用于选择指定的key
- flags 可选,可供选择的值有: 右对齐:正数的加正号,负数的加负号,- 左对齐:正数前没有负号,负数前加负号
- width 可选,占有宽度 有些预留的位置占位符
- .precision 可选,小数点后要保留的位数
- typecode 必选,有s(字符) r c(整数) o(整数转八进制) x(整数转16进制) d(整数,浮点数转化为十进制表示)
上文的例子就是用的这种方式。下面我们再来针对不同类型写一些简单的示例。
print("我的名字叫%s 我今年%d岁 钱包空空的只有%.3f元钱" % ("eyiadmin" 99 9.99999))
最后没打印出:我的名字叫eyiadmin 我今年99岁 钱包空空的只有10.000元钱 这里会对小数进行四舍五入。 其也支持指定字典key的方式 如:
print("我的名字叫%(name)s 我今年%(age)d岁 钱包空空的只有%(money).3f元钱" % {"name":"eyiadmin" "age":99 "money":9.99999})
结果和上面的代码一样
format
format采用的是{}占位符的方式 请看示例:
print("我的名字叫{} 我今年{}岁 钱包空空的只有{}元钱".format("eyiadmin" 99 9.99999))
# 或者指定索引
print("我的名字叫{0} 我今年{1}岁 钱包空空的只有{2}元钱".format("eyiadmin" 99 9.99999))
# 或者字典方式
print("我的名字叫{name} 我今年{age}岁 钱包空空的只有{money}元钱".format(name="eyiadmin" age=99 money=9.99999))
输出结果:
我的名字叫eyiadmin 我今年99岁 钱包空空的只有9.99999元钱
因为我们没有指定类型,所以是并未对我们的浮点型数据进行四舍五入。当然format也是支持数据类型的
print("我的名字叫{:s} 我今年{:d}岁 钱包空空的只有{:.2f}元钱".format("eyiadmin" 99 9.99999))
输出:
我的名字叫eyiadmin 我今年99岁 钱包空空的只有10.00元钱