day4 - 作业

day4 - 作业

1、输出一个乘法口诀表(九九表)

for i in range(1, 10):
    for j in range(1, i + 1):
        print(f'{i} * {j} = {i * j}', end='    ')
    print('')

2、输入两个正整数,求它们的最大公约数和最小公倍数

#方法一:
a = int(input('请输入第一个正整数:'))
b = int(input('请输入第二个正整数:'))
num1 = a
num2 = b
c = num1 % num2
while c != 0:
    num1 = num2
    num2 = c
    c = num1 % num2
print(f'{a}{b}的最大公约数为{b}')
print(f'{a}{b}的最大倍数数为{a * b / num2}')

#方法二:
x = int(input('x = '))
y = int(input('y = '))
# 将x和y中较小的值赋给z
z = x if x <= y else y  # 三元条件运算
# range(10,0,-1) - 取值范围是10~1,每次取值在上一个上-1(即步长为-1)
for i in range(z, 0, -1):  # 向下循环
    if x % i == 0 and y % i == 0:
        print(f'{x}{y}的最大公约数是:{i}')
        print(f'{x}{y}的最小公倍数是:{x * y // i} ')
        break

3、作业3:输入10个数,计算出算术平均值

total = 0
for i in range(1, 11):
    total += int(input(f'输入第{i}个数字:'))
print(f'{total / 10}')

4、输入两个正整数 n 和 k,n >= k,计算排列数和组合数

n = int(input('请输入一个正整数:'))
k = int(input('请输入一个正整数:'))
a=b=c=1
for i in range(1, n + 1):
    a *= i
for j in range(1, k + 1):
    b *= j
for m in range(1, n - k + 1):
    c *= m
p = a // c
z = a // (b * c)   # 用/与//的区别:/会输出小数,//是整除
print(f'P({n}, {k}) = {p}')
print(f'C({n}, {k}) = {z}')

5、输入三角形三条边的长度,先判断能否构成三角形,如果能则计算三角形的周长和面积

a = int(input('请输入第一个边的长度:'))
b = int(input('请输入第二条边的长度:'))
c = int(input('请输入第三条边的长度:'))
if (a+b>c and a-b<c) or (a+c>b and a-c<b) or (b+c>c and b-c<a):
    p=a+b+c
    s = p/2
    area=(s*(s-a)*(s-b)*(s-c))**0.5
    print(f'{a}{b}{c}构成三角形')
    print(f'三角形周长为{p}')
    print(f'三角形面积为{area:.3f}')  # 保留三位小数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值