私は、Python 3.5では複数の値を返すことができることを知りました。 この機能を使用できるコードを試してみましたが、問題はこれらの複数の値を保存する方法です。親切にはフォローグコードを参照してください。複数の戻り値を格納する方法は?
def input1():
stu=input("Enter Student Name")
marks=int(input("Enter Student marks"))
return stu,marks
def assign():
s=[]
m=[]
i=0
while True:
#s[i],m[i]=input1()
a=int(input("0 to exit"))
i+=1
if a==0:
print(s)
print(m)
break
stu
ストリングとmarks
は整数です。 両方の値を配列s[]
とm[]
に同時に保存したいと思います。 私が使用しようとしていた構文はwhileブロックのすぐ下にありますが、明らかに機能しません。
出力:
Enter Student NameR
Enter Student marks45
Traceback (most recent call last):
File "School_Rank.py", line 19, in <module>
assign()
File "School_Rank.py", line 12, in assign
s[i],m[i]=input1()
IndexError: list assignment index out of range
私はうまくいくように見えます。エラーは何ですか? –
リストのインデックスが@ cricket_007の範囲外です。 Ritesh、あなたの質問を編集して、あなたのために完全なトレースバックPythonプリントを提供してください。 –
また、 'a == 0'は決してTrueではなく、' a'は常に文字列です。 ( 'int()')する必要があります。 –