• Предмет: Информатика
  • Автор: ViktoriaPobloki
  • Вопрос задан 6 лет назад

Помогите найти ошибку. Нужно было написать программу для среднего арифметического. Если среднее арифм. - целое число, то ему что-то не нравится. Кто в Питоне шарит?)

Приложения:

ViktoriaPobloki: Разных случаев набросала
settom: Ну собственно всё логично
settom: переменная w определяется только в том случае, когда a%2!=0
settom: в случае, если получилось целое, это условие не выполняется
settom: нужно второй if внести в первый
ViktoriaPobloki: спасибо! я попробую
settom: в ответах уже добавили

Ответы

Ответ дал: tutu007
1

Ответ:

x=float(input())

y=float(input())

v="да"

q="нет"

a=x+y

b=a/2

print("Срзнач равно",b)

if a%2!=0:

   w=str(input("Хотите округлить до целого? Да/Нет: "))

   if w==v:

       p=round(b,0)

       print(p)

   elif w==q:

       print("Завершаю работу")

Примечание: Не дописал до конца текст, думаю, что сами допишете + немного оптимизировал


tutu007: вычисление p лучше проводить тогда, когда оно нужно, а не в самом начале
Ответ дал: stglupa
1

область видимости w - только первый if, за его пределами ее не существует и ты пытаешься оперировать с несуществующей переменной.

Пример как можно:

x = float(input())

y = float(input())

res = (x + y) / 2

print("Do you want to round the result? yes/no\n")

s = str(input())

if(s == "yes" and res > 0):

____res = int(res + 0.5)

elif(s == "yes"):

____res = int(res - 0.5)

print("the result is: " + str(res))

Вас заинтересует