2019-07-26 day4(2019-07-25) 作业补充

7.输入三个整数x,y,z,请把这三个数由小到大输出。

num1 = int(input('请输入第一个整数:'))
num2 = int(input('请输入第二个整数:'))
num3 = int(input('请输入第三个整数:'))
print('从小到大输入:')
if num1 < num2:
    if num2 < num3:
        print(num1,num2,num3)
    elif num1 < num3:
        print(num1, num3, num2)
    else:
        print(num3, num1, num2)
elif num2 > num3:
    print(num3, num2, num1)
elif num1 > num3:
    print(num2, num3, num1)
else:
    print(num2, num1, num3)

8.控制台输出三角形
a.根据n的值的不同,输出相应的形状

n = int(input('请输入一个数:'))
while n>0:
    print('*'*n)
    n -= 1

b.根据n的值的不同,输出相应的形状(n为奇数)

n = int(input('请输入一个奇数:'))
i = 1
while n>0:
    print(' '*((n-1)//2), end='')
    print('*'*i)
    n -= 2
    i += 2

9.输出9*9口诀。 1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。

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

    else:
        print()

10.这是经典的"百马百担"问题,有一百匹马,驮一百担货,大马驮3担,中马驮2担,两只小马驮1担,问有大,中,小马各几匹?

# 设大马x只
x = 0
# 设中马y只
y = 0
# 此时小马为100-y-x只
# 100担最多 100/3=33.333只
for i in range(0, 33):
    y = (100-3*i)//3-1
    if  y >= 0 and not y % 2:
        print('{}只大马,{}只中马,{}只小马'.format(i, y, 100-i-y))

11.我国古代数学家张邱建在《算经》中出了一道“百钱买百鸡”的问题,题意是这样的: 5文钱可以买一只公鸡,3文钱可以买一只母鸡,1文钱可以买3只雏鸡。现在用100文钱买100只鸡,那么各有公鸡、母鸡、雏鸡多少只?请编写程序实现。

# 设公鸡x只
x = 0
# 设母鸡y只
y = 0
# 此时小鸡为100-y-x只
# 100文只能买 100/5=20只
print(100//5)
for i in range(0, 20):
    y = 100-7*i #母鸡可能的值
    if y-(y//1) == 0 and y >= 0:
        print('{}只公鸡,{}只母鸡,{}只小鸡'.format(i, y, 100-i-y))

12.小明单位发了100元的购物卡,小明到超市买三类洗化用品,洗发水(15元),香皂(2元),牙刷(5元)。要把100元整好花掉,可如有哪些购买结合?

for i in range(0, 51): #最多买多少香皂
    for j in range(0, 21): #最多买多少牙刷
        if(100-2*i-5*j) >0: #剩下买洗发水的钱必须大于0
            if not (100-2*i-5*j) % 15: #剩下的钱买洗发水必须是整数
                print(i,j,(100-2*i-5*j)//15)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。