在我的函數(shù)中,我要求用戶輸入不同的變量,然后更新數(shù)據(jù)庫(kù)。問題是,如果他們不輸入任何內(nèi)容,有沒有辦法我不能將任何內(nèi)容推送到數(shù)據(jù)庫(kù)?當(dāng)他們不輸入var的值時(shí),DB中的值將被清除。db_root = '/var/lib/mysql/'db_to_create = 'students'db_to_use = 'students'conn = pymysql.connect(host='localhost', user='root', passwd='dbadmin', cursorclass=pymysql.cursors.DictCursor)print('Connection successful!!')def modify_student(): student_id = input("Enter the id of the student record you wish to modify: ") student_info = input("Is this student personal information you want to modify - y or n: ") if student_info == 'y': firstname = input("Enter the first name: ") lastname = input("Enter the last name: ") email = input("Enter the email address: ") address = input("Enter the address: ") DOB = input("Enter the DOB in YYYY-MM-DD: ") cur = conn.cursor() command = "use %s; " %db_to_use cur.execute(command) sql = "UPDATE students_info SET firstname = %s, lastname = %s, email = %s, address = %s, DOB = %s WHERE ID = %s;" cur.execute(sql, [firstname, lastname, email, address, DOB, student_id]) print(cur.execute) conn.commit() cur.close() conn.close() else: print("else")
2 回答

倚天杖
TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊
您可以使用以下幫助器功能:
def mandatory_input(prompt):
while True:
value = input(prompt)
if value:
return value
print("You did not enter the required information.")
并input用它替換所有被認(rèn)為是強(qiáng)制性的提示,因此:
student_id = input("Enter the id of the student record you wish to modify: ")
變成:
student_id = mandatory_input("Enter the id of the student record you wish to modify: ")
依此類推,以便在用戶輸入內(nèi)容之前一直提示用戶輸入值。
添加回答
舉報(bào)
0/150
提交
取消