#python #iteration
Вопрос:
Я хотел бы выполнить это вычисление от x = 0 до x . Он остановится, когда y = 0,5 и вернет значение x, я не знаю, как правильно написать функцию цикла на python. Кто-нибудь может мне помочь?
y = ((x-1) * (x-2) * (x-3) * (x-4) * (x-5) * (x-6))/x^6
Я использую этот код, но он работает не так, как я думал
x = 0
while x > 0:
print ("The percent is", y)
x = 1
y = ((x-1) * (x-2) * (x-3) * (x-4) * (x-5) * (x-6))/x**6
if round(y,1) == 0.5:
print (x)
Комментарии:
1. x =0, и пока условие x>0, ваше время не запускается
2. Ваше условие таково
when y=0.5
, так почему же вы ставите условие выходаx > 0
.3. Спасибо за ваш ответ, я хотел бы написать функцию, которая возвращает x, когда мы знаем, что y = 0,5. Как я могу изменить этот код правильным образом ?
4. Пожалуйста, проясните вашу конкретную проблему или предоставьте дополнительные сведения, чтобы точно указать, что вам нужно. Поскольку это написано в настоящее время, трудно точно сказать, о чем вы просите.
Ответ №1:
x = 1
while x > 0:
y = round(((x-1) * (x-2) * (x-3) * (x-4) * (x-5) * (x-6))/x**6, 1)
if y == 0.5:
print (x)
break
x = 1
вы также можете проверить ответ, как показано ниже
x = 29
y = round(((x-1) * (x-2) * (x-3) * (x-4) * (x-5) * (x-6))/x**6, 1)
print(y)
Ответ №2:
Я надеюсь, что это вам поможет :
x = 1
while x > 0:
y = ((x-1) * (x-2) * (x-3) * (x-4) * (x-5) * (x-6))/x**6
print ("The percent is", y)
x = 1
if round(y) > 0.5:
print("the value of x is:", x)
break
Комментарии:
1. Большое спасибо. Это действительно помогает мне понять, как работает этот цикл
2. значение x равно 29, когда y равно 0,5, а ваш код напечатан 34, что является неправильным методом
3. поскольку я использую > вместо == , я не знаю , хочет ли он принять значение 0,5 или нет, в любом случае мой метод верен, как и ваш