2021-10-20 18:20

# 用python3写了一个简单的小功具，请帮我优化，

``````def changfangxing(a,b):
s = a*b
return s

def sanjiaoxing(a,h):
s = (a*h)/2
return s

def yuan(r):
s = 3.14*r*r
return s

def chengfa(a,b):
j = a*b
return j

def chufa(a,b):
j = a/b
return j

def jiafa(a,b):
j = a+b
return j

def jianfa(a,b):
j = a-b
return j

def jiujiu():
for i in range(1,10):
for j in range(1,i+1):
print('%d*%d=%d' % (j,i,i*j),end='\t')
def chengfabiao():
return jiujiu()

``````
``````
import gongju

while True:

num = int(input('请输入数字选择工具：\n1长方形面积计算\n2三角形面积计算\n3圆形面积计算\n4九九乘法表\n5乘法计算\n6除法计算\n7加法计算\n8减法计算\n0退出\n'))

if num <0 or num> 9:
print()
print('请输入1-9之间的数字')
print()
l = input('按回车继续')
if not l:
continue

if num == 0:
print('退出')
break

if num == 1:
cfx = gongju.changfangxing(int(input('请输入长度：')),int(input('请输入宽度：')))
print('长方形面积为：%.2f' % cfx)
print()
l = input('按回车继续')
if not l:
continue

if num == 2:
sjx = gongju.sanjiaoxing(int(input('请输入底边长度：')),int(input('请输入高度：')))
print('三角形的面积为：%.2f' % sjx)
print()
l = input('按回车继续')
if not l:
continue

if num == 3:
y = gongju.yuan(int(input('请输入半径：')))
print('圆的面积为：%.2f' % y)
print()
l = input('按回车继续')
if not l:
continue

if num == 4:
cfb = gongju.chengfabiao()
print(cfb)
print()
l = input('按回车继续')
if not l:
continue

if num == 5:
cf = gongju.chengfa(int(input('请输入：')),int(input('请输入：')))
print('结果为：%d' % cf)
print()
l = input('按回车继续')
if not l:
continue

if num == 6:
chu = gongju.chufa(int(input('请输入被除数：')),int(input('请输入除数：')))
print('商为：%d' % chu)
print()
l = input('按回车继续')
if not l:
continue

if num == 7:
jia = gongju.jiafa(int(input('请输入数字：')),int(input('请输入数字：')))
print('和为：%d' % jia)
print()
l = input('按回车继续')
if not l:
continue

if num == 8:
jf = gongju.jianfa(int(input('请输入被减数：')),int(input('请输入减数：')))
print('差为：%d' % jf)
print()
l = input('按回车继续')
if not l:
continue

``````

• 好问题 提建议
• 收藏

#### 1条回答默认 最新

• 小白华 2021-10-21 11:19
已采纳

用不着写那么复杂

``````while True:
num = int(input('''请输入数字选择工具：
1:长方形面积计算
2:三角形面积计算
3:圆形面积计算
4:九九乘法表
5:乘法计算
6:除法计算
7:加法计算
8:减法计算
0:退出
'''))
if num < 0 or num > 8:
input('请输入0-8之间的数字(按回车继续)!')
continue

elif num == 0:
print('退出')
break

elif num == 1:
cfx = int(input('请输入长度：')) * int(input('请输入宽度：'))
print('长方形面积为：%.2f' % cfx)

elif num == 2:
sjx = int(input('请输入底边长度：')) * int(input('请输入高度：')) / 2
print('三角形的面积为：%.2f' % sjx)

elif num == 3:
y = int(input('请输入半径：')) ** 2 * 3.14
print('圆的面积为：%.2f' % y)

elif num == 4:
for i in range(1, 10):
for j in range(1, i+1):
print('%d*%d=%d' % (j, i, i*j), end='\t')

elif num == 5:
cf = int(input('请输入：')) * int(input('请输入：'))
print('结果为：%d' % cf)

elif num == 6:
chu = int(input('请输入被除数：')) / int(input('请输入除数：'))
print('商为：%d' % chu)

elif num == 7:
jia = int(input('请输入数字：')) + int(input('请输入数字：'))
print('和为：%d' % jia)

elif num == 8:
jf = int(input('请输入被减数：')) - int(input('请输入减数：'))
print('差为：%d' % jf)

input('按回车继续')
``````
已采纳该答案
评论
解决 无用
打赏 举报