変数idnumは、複数の関数から呼び出すことができます(ユーザーが番号を入力し、必要に応じてプログラムが取得するようにします)。私は以下のコードを試してみましたが、エラーメッセージを思い付く:変化するニーズは何後での使用と検証のための変数の保存
TypeError: unorderable types: function() > int()
は、コードが動作し、入力を検証できるようにします。
idnum= ""
def idnum():
idnum = int(input("Enter the id number of who you want to edit: "))
edit()
def again():
edit()
def edit_info():
print()
print()
print ("Select what you want to edit")
edit_menu()
def edit():
num_lines = sum(1 for line in open('Surname'))
print()
if idnum > num_lines or idnum ==0 or idnum < 0:
print("Not valid")
time.sleep(0.5)
print("Try again")
time.sleep(0.2)
again()
else:
print()
for file in ["Forename", "Surname", "Email", "Date of birth", "Home address", "Home phone number", "Gender", "Tutor group"]:
with open(file) as f:
print(f.readlines()[idnum-1], end='')
IDNUM()
同じ名前の関数と変数を使用することはできません。 'idnum'を文字列変数に代入し、' idnum'という関数を定義します。後で 'idnum'が使用されているとき、コードはエラーの直接の原因である文字列変数ではなく、' idnum'関数を参照します。 – vealkind