J'ai vu des sujets similaires à cela, mais après avoir essayé leurs méthodes, il n'a toujours pas fixé la pièce de si fort> jusqu'à la fin. D'après ce que j'ai lu sur d'autres sujets, les valeurs sont incompatibles, mais j'essayais de le réparer et d'essayer d'autres méthodes sans succès. Merci d'avance pour votre aide.
Voici mon code: numbers = []
def calc():
d=0
m=0
single_number=int(input("Enter a number: "))
number = input("Enter a list of numbers: ")
numbers = [int(i) for i in number.split()]
summed =sum(numbers, 0)/len(numbers)
print("Average: ", summed)
minimum=min(numbers)
maximum=max(numbers)
print("Minimum", minimum)
print("Maximum", maximum)
if numbers > single_number:
d=d+1
else:
m=m+1
print("Amount of numbers in the list that are smaller than the 1st entered number:", m)
print("Amount of numbers in the list that are bigger than the 1st number:", d)
print(calc())
3 Réponses :
Tout ce que vous manquez est une boucle:
d = sum(1 for number in numbers if number > single_number) m = sum(1 for number in numbers if number < single_number)
Merci pour votre temps de réponse. D = SUM (1 pour NUMBER EN NUMÉRES IF NUMÉRO> SOINT_NUMBER) M = SUM (1 Pour le numéro en numéros Si nombre
Oui, le
pour code> vous dit que je t est une boucle. Malheureusement, vous en boucle deux fois sur la même liste où il suffirait une fois ...
qui n'a aucun sens. Voulez-vous un si des chiffres> single_number code> fait quelque chose comme:
pour code> boucle? P>
Vous pouvez utiliser une liste de compréhension pour filtrer, puis obtenir la longueur de la liste résultante:
d = len([n for n in numbers if n > single_number]) m = len(numbers) - d