Проблема в том, что вы ||
(или), это просто простая ошибка булевой алгебры (логики высказываний), она должна быть &&
(и)
. сжатый цикл проверки
var num = 0;
Console.WriteLine("What is your secret number between 1 and 100 inclusively?");
var str = Console.ReadLine();
// while its not a number, "or" the number is less or equal to 0 "or" greater than 100
// annoy them with a message
while (!int.TryParse(str, out num ) || num <= 0 || num > 100)
{
Console.WriteLine("Omg you had one job, a number between 1 and 100 inclusively... Try again");
str= Console.ReadLine()
}
Console.WriteLine($"You won, your number is {num } ");
Хорошо, во-первых, в отношении парсинга HTML: если Вы следуете рекомендации zweiterlinde, и S.Lott, по крайней мере, используют версию beautifulsoup, включенный с lxml. Тем путем Вы также получите выгоду хорошего xpath или css селекторного интерфейса.
Однако я лично предпочитаю Ian Bicking синтаксический анализатор HTML, включенный в lxml.
, Во-вторых, .find()
и .findall()
прибывают из lxml, пытающегося быть совместимым с ElementTree, и те два метода описаны в Поддержка XPath в ElementTree.
Те две функции довольно просты в использовании, но они - очень ограниченный XPath. Я рекомендую пытаться использовать или полный метод lxml xpath()
или, если Вы уже знакомы с CSS, с помощью cssselect()
метод .
Вот некоторые примеры со строкой HTML, проанализированной как это:
from lxml.html import fromstring
mySearchTree = fromstring(your_input_string)
Используя css селекторный класс Ваша программа примерно выглядела бы примерно так:
# Find all 'a' elements inside 'tr' table rows with css selector
for a in mySearchTree.cssselect('tr a'):
print 'found "%s" link to href "%s"' % (a.text, a.get('href'))
эквивалентное использование xpath метод было бы:
# Find all 'a' elements inside 'tr' table rows with xpath
for a in mySearchTree.xpath('.//tr/*/a'):
print 'found "%s" link to href "%s"' % (a.text, a.get('href'))
Существует ли причина, которую Вы не используете Красивый Суп для этого проекта? Это сделает контакт с недостаточно хорошо сформированными документами намного легче.