2016-04-11 22 views
-2

Atama Tanım: Takımda 6 üye ve ligde 20 takım vardır. Her bowlingin girilmesi gereken puanları (0 ile 300 arasında) gerekir. Kazanan takım en yüksek ortalama puanı belirleyerek bulunur. Takımın adını ve rekabeti kazanan ortalamayı çıkar. NO dizileri kullanıldı.Python 20 takımları her biri 6bowlers

Bu sorun için, eğer ekip numarası 12'nin altındaysa ifadeler devam ederse bir yuva nasıl yuvalanır, sonra üye numarası 8'in altında olup olmadığını kontrol etmeye devam eder?

def inputScore():totalScore = 0for team in range (1,13): 
    team = int(input("Team number: ")) 
    while (team<0 or team>13): 
    team = int(input("Invalid input. Enter team number 1-12: ")) 
    bowler = int(input("Enter bowler number: ")) 
    while (bowler<0 or bowler>8): 
    bowler = int(input("Invalid input. Enter bowler number 1-8 ")) 
    score = int(input("Enter score: ")) 
    while (score<0 or score>300): 
    score = int(input("Invalid input. Enter score 0-300: ")) 
    total=(bowler*score) 
    totalScore=totalScore + total 
return totalScoretotalAvg=inputScore() 
avg=totalAvg/8 

baskı ("ekipleri için en yüksek puanı şunlardır:" ort)

İşte ne var şimdi, ben yanlış şeyler olduğunu biliyorum. Bunu nasıl düzelteceğime emin değilim. Herhangi bir yardım?

+1

Sen bunun anlaşılabilir @sirsand böylece kodunuzu biçimlendirmek gerekir. Kodu vurgulayın ve düzenleme kutusunun üstündeki {} düğmesine basın. –

+0

Sorunuz çözüldüğünde sorununuzu düzenleme dışı bırakmayın, çünkü soru ve cevaplar gelecekteki okuyuculara artık bir anlam ifade etmemektedir. – zondo

cevap

3

Bir kapatma ayracı score = int(input("Enter bowler's score: "))

EDIT eksik: Kısmi yanıt:

def getTeamScore(teamNumber): 
    print("Scores for team " + str(teamNumber)) 
    score1 = int(input("Score for player 1: ")) 
    score2 = int(input("Score for player 2: ")) 
    return (score1 + score2)/2 #Remember parenthesis here 


bestScore = -1 
bestTeam = 0 

for teamNumber in range(1, 3): 
    teamScore = getTeamScore(teamNumber) 
    if (teamScore > bestScore): 
     bestScore = teamScore 
     bestTeam = teamNumber 

print("Best team: " + str(bestTeam) + " with score: " + str(bestScore)) 
+1

Ayrıca, bu satıra ait girintiye bir boşluk daha eklemeniz gerekir. – Munir

+0

Bana göre sesler çok boyutlu diziler ve döngüler hakkında bilgi sahibi olmalısın. Örneğin, bu [bu eğitimi] kontrol edin (http://www.linuxtopia.org/online_books/programming_books/python_programming/python_ch20s05.html). Her bir endeksin bu takımın skorlarının bir dizisini tutacağı bir dizi takımınız olurdu. Yalnızca her bir takımın puanlarını hesaplamanız gerekiyorsa, ifadelerin uzun ve yinelenen bir kodla sonuçlanması durumunda kullanılması. – Mootpoint

+0

Dizileri neden kullanmıyorsunuz? Bir kursta bir ödev mi yoksa bir şey mi var, diziler ele alınmıyor mu? Diziler kullanmazsanız döngüler için fazla yardım olduğunu düşünmüyorum. Ayrıca, takımlar için puanları nereden alıyorsunuz? Onları kendin mi tanımlarsın? Ödev açıklamanız varsa, lütfen sorunuza ekleyin. – Mootpoint

İlgili konular