2016-10-19 1 views
0

J'essaye d'écrire un script qui obtient deux nombres de l'utilisateur, puis ajoute tous les entiers ODD entre ces deux nombres (inclus) et imprime le total. Voilà ce que j'ai jusqu'à présent:L'utilisateur entre deux nombres, somme des nombres impairs entre eux?

firstnum = int(raw_input("enter a number:")) 
secondnum = int(raw_input("enter another number (integer):")) 
print ('first number:'+ str(firstnum)) 
print ('second number:' + str(secondnum)) 
oddsum = 2 #just a placeholder 
print ('The sum of all odd integers between' + ' ' + str(firstnum) + ' ' + 'and' + ' ' + str(secondnum) + ' ' + 'is' + ' ' + str(oddsum)) 

sortie ressemble:

first number:12 
second number:15 
The sum of all odd integers between 12 and 15 is 2 

Le code doit fonctionner si le premier numéro> deuxième numéro et vice versa. Je pense que je devrais être capable de créer une nouvelle gamme() avec les deux nombres, mais je ne peux pas le comprendre. oddsum = la somme de tous les nombres impairs entre les deux. Aussi, quand j'imprime la gamme (firstnum) je ne peux pas l'obtenir pour inclure 15. Comment puis-je le rendre inclusif?

+0

Quelle langue utilisez-vous? –

+0

Python 2.7 @TimBiegeleisen – alki18

Répondre

0

Je voudrais:

  1. figure sur ce qui est le moins élevé des deux entrées, puis ajouter soit 0 ou 1 pour obtenir le premier nombre impair. C'est ton début.
  2. Détermine quelle est la plus grande des deux entrées. C'est ta fin.
  3. Initialisez la somme à zéro.
  4. Pour les entiers depuis le début, jusqu'à la fin incluse, ajoutez l'entier en cours à la somme et incrémentez de 2.
  5. Générez la somme.
0

firstnum < = En supposant secondnum

oddsum = sum(x for x in range(firstnum, secondnum + 1) if x % 2)