11

私はpython初心者です。私はこのコードを実行しようとしていました:

def main():
    print ( " This program computes the average of two exam scores . ")
    score1,score2 = input ("Enter two scores separated by a comma:")
    average = (score1 + score2)/2.0
    print ("The average of the score is : " , average )

私が召喚すると、main()これを手に入れましたValueError

ValueError: too many values to unpack (expected 2)

このコードの何が問題になっていますか?

4

5 に答える 5

17
  1. 受け取った入力はすべて 1 つの文字列で届くため、分割する必要があります。
  2. 次に、それらを数値に変換する必要がありscore1 + score2ます。それ以外の場合、用語は文字列の追加を行い、エラーが発生するためです。
于 2013-09-30T15:50:22.807 に答える
11

コンマで分割する必要があります。

score1,score2 = input ("Enter two scores separated by a comma:").split(",")

ただし、score1andscore2は引き続き文字列であることに注意してください。floatまたはint(必要な数値タイプに応じて)のいずれかを使用して、それらを数値に変換する必要があります。

例を参照してください。

>>> score1,score2 = input("Enter two scores separated by a comma:").split(",")
Enter two scores separated by a comma:1,2
>>> score1
'1'
>>> score1 = int(score1)
>>> score1
1
>>> score1 = float(score1)
>>> score1
1.0
>>>
于 2013-09-30T15:50:39.190 に答える
0
>>>number1,number2 = input("enter numbers: ").split(",")
enter numbers: 1,2
>>> number1
'1'
>>> number2
'2'

次に、整数に変換できます

>>> number1 = int(number1)
>>> number2 = int(number2)
>>> average = (number1+number2)/2.0
>>> average
1.5
于 2019-01-29T09:25:34.223 に答える