题目内容:
如果用户选择菜单选项1,提示用户输入1到10之间的整数,并打印一个乘法表,显示整数1与输入整数相乘的结果,如下面的示例所示。注意:不需要检查输入的数字是否在1到10之间。如果用户选择菜单选项2,退出程序。如果用户在菜单选择中输入了1或2以外的任何内容,输出信息“菜单选择错误,请重试并继续程序。”结果应该如下: 1)创建乘法表 2)退出程序请从以上菜单中选择一个选项:1 输入一个介于1到10之间的整数:3
1 2 3
2 4 6
3 6 9
1)创建乘法表 2)退出程序请从以上菜单中选择一个选项:4 菜单选择错误,请重试 1)创建乘法表 2)退出程序请从以上菜单中选择一个选项:2 谢谢你使用乘法表
程序:
while True:
print('1)创建乘法表')
print('2)退出程序')
n = input('请从以上菜单中选择一个选项:').strip()
if n=='1':
x = int(input('输入一个介于1到10之间的整数:'))
for i in range(1,x+1):
for j in range(1,x+1):
print("{:>4}".format(i*j),end="")
print()
elif n=='2':
print('谢谢你使用乘法表')
break
else:
print('菜单选择错误,请重试')
print('-----------------------------')
分析:
看题没看不太懂,看例子才看懂......本程序最主要的地方就是两个 for循环 嵌套;strip()方法 用于一处字符串头尾指定的字符(默认为空格)或字符序列;{:>4}.format() 数字左侧补0,总宽4位。
下面总结一下format的常用方法,需要就可以收藏一波。
数字 | 格式 | 输出 | 描述 |
---|---|---|---|
3.1415926 | {:.2f} | 3.14 | 保留小数点后两位 |
3.1415926 | {:+.2f} | +3.14 | 带符号保留小数点后两位 |
-1 | {:+.2f} | -1.00 | 带符号保留小数点后两位 |
2.71828 | {:.0f} | 3 | 不带小数 |
5 | {:0>2d} | 05 | 数字补零(填充左边,宽度为2) |
5 | {:x<4d} | 5xxx | 数字补x(填充右边,宽度为4) |
10 | {:x<4d} | 10xx | 数字补x(填充右边,宽度为4) |
1000000 | {:,} | 1,000,000 | 以逗号分隔的数字格式 |
0.25 | {:.2%} | 25.00% | 百分比格式 |
1000000000 | {:.2e} | 1.00e+09 | 指数记法 |
13 | {:>10d} | 13 | 右对齐(默认填充空格,宽度为10) |
13 | {:<10d} | 13 | 左对齐(默认填充空格,宽度为10) |
11 | ‘{:b}’.format(11) '{:d}'.format(11) ‘{:o}’.format(11) '{:x}'.format(11) '{:#x}'.format(11) '{:#X}'.format(11) | 1011 11 13 b 0xb 0XB | 进制 |
^,<,> 分别是居中、左对齐、右对齐,后面带宽度,: 号后面带填充的字符,只能是一个字符,不指定则默认用空格填充。
+ 表示正数前显示 + ,负数前显示 - ; (空格)表示再正数前加空格
b、d、o、x 分别是二进制、十进制、八进制、十六进制。
此外,可以使用大括号 {} 来转义大括号,如下实例:
print('{} 脑子有点{{2}}'.format('小浪宝宝'))
输出结果为:
小浪宝宝 脑子有点{2}