Je me demandais s'il était possible d'afficher "Entrez le nombre de victoires le lundi, mardi, mercredi, etc." séquentiellement après chaque entrée. La seule méthode à laquelle je peux penser est de faire plusieurs entrées dans le module.

def getWins():
counter = 1
totalWins = 0
dailyWins = 0
while counter <= 7:
    dailyWins = raw_input('Enter the number of wins acquired for each day this week:')
    totalWins = totalWins + dailyWins
    counter = counter + 1
return totalWins
-1
Vitor Kobayashi 8 mars 2016 à 08:52

3 réponses

Meilleure réponse

Vous pourriez faire quelque chose comme:

def getWins():
    week = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
    scores = {} # Perhaps you want to return a dictionary? If not, just set this to 0 and += score below. Also, remove sum()
    for day in week:
        score = int(raw_input("Enter the number of wins on {}: ".format(day)))
        scores[day] = score
    return sum(scores.values())

getWins()
"""
>>> getWins()
Enter the number of wins on Monday: 5
Enter the number of wins on Tuesday: 4
Enter the number of wins on Wednesday: 5
Enter the number of wins on Thursday: 1
Enter the number of wins on Friday: 3
Enter the number of wins on Saturday: 7
Enter the number of wins on Sunday: 9
34
"""
1
Goodies 8 mars 2016 à 06:08

La seule méthode à laquelle je peux penser est de faire plusieurs entrées dans le module

  • En Python 2.7, raw_input renvoie une chaîne
  • Les cordes peuvent être divisées

Vous pouvez laisser l'utilisateur entrer les valeurs pour toute la semaine dans un raw_input, séparés par des espaces, des virgules, etc.

def get_wins():
    data = raw_input('Enter the number of wins for each day, separated by spaces: ')

    wins = [int(win) for win in data.split() if win.isdigit()]
    return sum(wins)
0
Klaus-Dieter Warzecha 10 mars 2016 à 17:47

Vous pouvez utiliser map pour créer une liste de toutes les entrées effectuées par l'utilisateur en tant que:

dailywins = map(int, raw_input("enter the daily wins of whole week").split()) 
# THIS gives you a list object of ints which can be manipulated any way you want(here input is space separated)

Maintenant, vous pouvez simplement faire:

totalwins = sum(dailywins)

Pour obtenir totalwins

0
shaktimaan 8 mars 2016 à 06:03