Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 11.10.2019
Сообщений: 9
1

Проблема с циклом while

11.10.2019, 14:10. Показов 2069. Ответов 4

Author24 — интернет-сервис помощи студентам
Всем привет! Подскажите, пожалуйста, почему не выводит значение y при x = 8?


Python
1
2
3
4
5
6
7
8
9
10
11
import math
h = 0.2
x = 3
print('-'*20)
print(''*2,'x',' '*8,'y')
print('-'*20)
while x >= 3 and  x <= 8 :
    y = math.asin(1/math.log1p(x + 3))
    print('{:.3f}'.format(x),''*2, end = '| ')
    print('{:.3f}'.format(y))
    x += h
Тут задан интервал и шаг.
Миниатюры
Проблема с циклом while   Проблема с циклом while  
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.10.2019, 14:10
Ответы с готовыми решениями:

Проблема с циклом for
Мне нужно удалить все числа в списке, что больше или равны 5, но почему-то при запуске кода в...

ТелеграмБот- проблема с циклом
Пишу простенького бота для проверки слов. Бот даёт слово, а ты его перевод пишешь. В итоге тебе...

Проблема с циклом While и значениями переменной
Доброго утра! Сам алгоритм не сложный, однако реализация хромает. #import numpy as np...

Проблема с циклом while и оператором break
Всем, доброго времени суток! Подскажите пожалуйста как исправить код Выполняя ДЗ, хотел сделать...

Проблема с циклом While
Здравствуйте, делаю задачку по циклу с возведением в степень. Почему то при вводе числа ничего не...

4
es geht mir gut
11270 / 4752 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
11.10.2019, 14:30 2
Цитата Сообщение от katubn Посмотреть сообщение
x += h
Значит на последнем шаге x принимает значение больше восьми.

Добавлено через 2 минуты
Цитата Сообщение от SoftIce Посмотреть сообщение
больше восьми
типа 8.0000001

Добавлено через 12 минут
Цитата Сообщение от katubn Посмотреть сообщение
while x >= 3 and x <= 8 :
Попробуйте так
PHP
1
while x >= 3 and x <= 8.0001 :
0
0 / 0 / 0
Регистрация: 11.10.2019
Сообщений: 9
11.10.2019, 14:33  [ТС] 3
А как такое происходит? Или это нормально, что в питоне такие погрешности?
Просто должно быть постоянное прибавление 0.2. А там в итоге и получается x=8.0...04
0
es geht mir gut
11270 / 4752 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
11.10.2019, 14:38 4
Лучший ответ Сообщение было отмечено katubn как решение

Решение

Цитата Сообщение от katubn Посмотреть сообщение
А там в итоге и получается x=8.0...04
Питон тут не при чём. Это издержки типов с плавающей запятой.
Если интересно, то можете почитать статью на Хабре
2
Автоматизируй это!
Эксперт Python
7107 / 4610 / 1215
Регистрация: 30.03.2015
Сообщений: 13,236
Записей в блоге: 29
11.10.2019, 14:39 5
Цитата Сообщение от katubn Посмотреть сообщение
что в питоне такие погрешности?
во всех языках такая погрешность, поизучай литературу про числа с плавающей точкой в любом языке, можешь с пайтон начать. И в любом языке есть специальные классы для точных вычислений.
2
11.10.2019, 14:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.10.2019, 14:39
Помогаю со студенческими работами здесь

Проблема с циклом
ent:='2'; while (ent='2') do begin writeln('1 :: Посчитать'); writeln('2 :: Посмотреть...

Проблема с циклом
Здравствуйте. У меня такая проблема: У меня имеется цикл в 65000 повторов, а программа выполняет...

Проблема с циклом while
Код Не выводит y #include &lt;math.h&gt; #include &lt;locale.h&gt; #include &lt;stdlib.h&gt; #include...

Проблема с циклом
Добрый день, Уважаемые Форумчане. Решил освоить VBA, упражняюсь с апреля, фактически это мой...

Проблема с циклом
Проверьте, пожалуйста правильность кода. Выводится только последнее значение, а предыдущие не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru