#python #python-3.x #python-2.7 #python-requests
Вопрос:
Напишите фрагмент кода Python, используйте управление потоком «if-elif» вместе с циклом «while», который будет:
- Проинструктируйте пользователя ввести число, которое больше 0 и меньше или равно 10, и сохраните входные данные в переменной в виде значения с плавающей запятой
- Если входное число больше 0 и меньше или равно 10,
- используйте цикл «while», чтобы добавить число к самому себе, пока сумма не превысит значение 100.
- После того как сумма превысит значение 100, используйте инструкцию print для вывода суммы
- В противном случае выведите сообщение «Вы не ввели значение от 0 до 10».
Мой Ответ :
inval = float(input('Input a number greater than zero and less than or equal to 10: ')) if inval gt; 0 and inval lt;= 10: while inval lt; 100: inval = inval continue else: print(inval) elif inval lt;= 0 or inval gt; 10: print('You did not enter a value between 0 and 10')
Комментарии:
1. Мое предположение:
inval lt; 100
должно бытьinval lt;= 100
.2. В чем проблема, с которой вы столкнулись? В качестве дополнительного примечания вам не нужно
continue
иelse
. Удалите их и снимите привязку
Ответ №1:
Причина, по которой ваш ответ неприемлем, заключается в том, что код должен возвращаться 100.0
для ввода типа 6.25
. Но ваш код возвращается 200.0
из-за вашего состояния while. Вы можете просто добавить знак равенства (=), чтобы решить эту проблему. А также я удалил ненужные части из вашего кода.
inval = float(input('Input a number greater than zero and less than or equal to 10: ')) if inval gt; 0 and inval lt;= 10: while inval lt;= 100: inval = inval print(inval) else: print('You did not enter a value between 0 and 10')
Комментарии:
1. В требовании 3 говорится, что сумма «превышает 100,0», поэтому ваше условие меньше или равно неверно.
2. @PaulCornelius Тебе стоит подумать об этом еще раз.
3. Да! Ответ правильный.
Ответ №2:
Я думаю, что единственное, что может быть неправильным, — это условие цикла While (вы должны это сформулировать inval lt;= 100
). Однако проблема может быть в другом внутри цикла; поскольку он не «эффективен», после того, как значение inval больше 100, он выведет значение, даже если другого там нет. Видеть:
inval = float(input('Input a number greater than zero and less than or equal to 10: ')) if inval gt; 0 and inval lt;= 10: while inval lt;= 100: inval = inval print(inval) elif inval lt;= 0 or inval gt; 10: print('You did not enter a value between 0 and 10')
Я не вижу другой проблемы в вашем коде 🙂