У меня есть цикл внутри программы, который должен быть
while number >= lst[count]:
rank -= 1
count += 1
, где я бы хотел, чтобы какое-то время работало, пока оно не перестанет иметь смысл.Я пытался кое-что, что не сработало (см. Конец поста), но сработало следующее:
lst = [int(x) for x in input().split()]
number = int(input())
count = 0
rank = 0
def attempt(lst, a):
try:
result = lst[a]
except:
result = float('inf')
return result
while number >= attempt(lst, count):
rank -= 1
count += 1
print(rank)
Однако я не думаю, что это очень элегантно и кажется надуманным.Есть ли более элегантное решение (для этого случая, а также вообще для данного условия)?
Другие попытки (которые не увенчались успехом):
while aliceScores[i] >= lst[count] and count < len(lst):
rank -= 1
count += 1
Вышеприведенное не удается, так как while пытается запустить для count = len (lst) и запускает ошибку, так как lst [len (lst)] не существует.
while aliceScores[i] >= lst[count] and count < len(lst)-1:
rank -= 1
count += 1
Выше не получается, потому что я хочу изменить ранг, если условие возникает и в случае lst [len (lst) - 1], что не будеткажется в приведенном выше коде.