Технический форум

Технический форум (http://www.tehnari.ru/)
-   Форум программистов (http://www.tehnari.ru/f22/)
-   -   Python 3. Помогите написать программы (http://www.tehnari.ru/f22/t253137/)

Екатерини 07.04.2017 11:46

Python 3. Помогите написать программы
 
1.Если сумма трех попарно различных действительных чисел X, Y, Z меньше единицы, то наименьшее из этих трех чисел заменить полусуммой двух других; в противном случае заменить меньшее из X, Y полусуммой двух оставшихся значений.

2.Заданы размеры А, В прямоугольного отверстия и размеры X, Y, Z кирпича. Опре-делить, пройдет ли кирпич через отверстие.

3. Даны три числа а, b, с. Определить, какое из них равно d. Если ни одно не равно d, то найти max(d-a, d-b, d-c).

mike_ 21.10.2019 04:49

3. Даны три числа а, b, с. Определить, какое из них равно d. Если ни одно не равно d, то найти max(d-a, d-b, d-c)
Код:

a=int(input())
b=int(input())
c=int(input())
d=int(input())

if d==a:
    print('a=d')
elif d==b:
    print('b=d')
elif d==c:
    print('c=d')
else:
    abc=[a,b,c]
    z=min(abc)
    print('max=',d-z)


mike_ 21.10.2019 05:22

2.Заданы размеры А, В прямоугольного отверстия и размеры X, Y, Z кирпича. Опре-делить, пройдет ли кирпич через отверстие.
такой себе говнокод :D
Код:

a=int(input())
b=int(input())

x=int(input())
y=int(input())
z=int(input())
#find the maximum side of the hole
if a>=b:
    a1=a
    b1=b
else:
    b1=a
    a1=b
#find the maximum side of the brick   
if x >= y and x >= z:
    z1=y
    z2=z
elif y >= x and y>= z:
    z1=x
    z2=z
else:
    z1=x
    z2=y
#find the minimum side of the brick   
if z1>=z2:
    pass   
else:
    k=z2
    z2=z1
    z1=k
#print result
if a1>=z1 and b1>=z2:
    print('it will go')
else:
    print('no way')


mike_ 01.11.2019 00:56

Цитата:

Сообщение от Екатерини (Сообщение 2476943)
1.Если сумма трех попарно различных действительных чисел X, Y, Z меньше единицы, то наименьшее из этих трех чисел заменить полусуммой двух других; в противном случае заменить меньшее из X, Y полусуммой двух оставшихся значений.

А виводить надо сумму двоих + полусуму етих двоих (наименьшее откидаем)?
Код:

x=float(input())
y=float(input())
z=float(input())
numbers=[x,y,z]

if (x+y+z)<1:
    k=min(numbers, key=float)
    if k==x:
        print(y+z+(y+z)/2)
    elif k==y:
        print(x+z+(x+z)/2)
    elif k==z:
        print(y+x+(x+y)/2)

elif (x+y+z)>=1:
    numbers=[x,y]
    k=min(numbers, key=float)
    if k==x:
        print(y+z+(y+z)/2)
    if k==y:
        print(x+z+(x+z)/2)

или только замена нужна, виводить ничего не надо?

Тогда так будет:

Код:

x=float(input())
y=float(input())
z=float(input())
numbers=[x,y,z]

if (x+y+z)<1:
    k=min(numbers, key=float)
    if k==x:
        x=(y+z)/2
    elif k==y:
        y=(x+z)/2
    elif k==z:
        z=(x+y)/2
elif (x+y+z)>=1:
    numbers=[x,y]
    k=min(numbers, key=float)
    if k==x:
        x=(y+z)/2
    if k==y:
        y=x+z+(x+z)/2


Smith 01.11.2019 16:43

Дружище, ты 2 года учил питон? ТС уже и в помине нет.

mike_ 01.11.2019 17:46

Пол месяца назад только начал, вдруг ТС еще не отчислили :D


Часовой пояс GMT +4, время: 13:57.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.