Python——名刺管理システム(追加、削除、検索、修正)


名刺管理システム
以下のコードは个人オリジナルで、说明が必要なところは后で注釈をつけて、もちろん私のコードはみんなに1つの思想をあげることを望んで、まだ多くの不足なところがあって、大きい人达が発见した后に私を信じて、私达はいっしょに探求します(にこにこして、言うのは少し小さい装逼して、実は先生が模版を出して、私达に内容を加えさせます):
注意すべき点は、バージョンが3.6であれば、外部から情報を受信するために以下のすべてのinput()をinput()で使用すればよいことです.バージョン2.7であれば、文字列を受信する場合はraw_input()(受信した情報を自動的に文字列に変換し、12345と入力しても文字列12345です)
#-*-coding:UTF-8-*-
print("**********           **********")
card_infors = []							#      
def print_menu():
	"""        """
	print("="*42)
	print("        V0.01")
	print(" 1.        ")
	print(" 2.      ")
	print(" 3.      ")
	print(" 4.      ")
	print(" 5.       ")
	print(" 6.    ")
	print("="*42)

def add_new_card_infor():
	"""          """
	new_name = raw_input("       :")	#     
	new_qq = int(input("     QQ:"))
	new_weixin = int(input("       :"))
	new_addr = raw_input("       :")

	new_infor = {}							#        ,          
	new_infor['name'] = new_name			#     
	new_infor['qq'] = new_qq
	new_infor['weixin'] = new_weixin
	new_infor['addr'] = new_addr

	#     ,      
	card_infors.append(new_infor)			# append()              

	#print(card_infors)#for test

def dele_card_infor():
	"""        """

	dele_name = raw_input("         :")	#            
	find_flag = 0								#        
	for temp in card_infors:
		if dele_name == temp["name"]:
			find_flag = 1						#          , find_flag     1
			card_infors.remove(temp)

			print("    !")					# del               ,          
			break
	
	if find_flag == 0:							
		print("          ....")
def modify_card_infor():
	"""        """

	modify_name = raw_input("           :")	#            
	find_flag = 0									#        
	modify_flag = 0									#        ,      
	sign = 0
	for temp in card_infors:
		sign+=1
		if modify_name == temp["name"]:
			find_flag = 1
			print("1.    ")						#      
			print("2.  QQ")
			print("3.  weixin")
			print("4.    ")
			print("5.      ")
			while True:
				num2 = int(input("             :"))	#          
				if num2==1:
					card_infors[sign-1]["name"] = raw_input("            :")  #                
					modify_flag = 1
				elif num2==2:
					card_infors[sign-1]["qq"] = int(input("          QQ:"))
					modify_flag = 1
				elif num2==3:
					card_infors[sign-1]["weixin"] = int(input("          weixin:"))
					modify_flag = 1
				elif num2==4:
					card_infors[sign-1]["addr"] = raw_input("            :")
					modify_flag = 1
				elif num2==5:
					break
				else:
					print("    ,     :")
				if modify_flag == 1:				#        
					print("    !")
					break
			break

def find_card_infor():
	"""        """


	find_name = raw_input("         :")   #     
	find_flag = 0									#        
	print("          :")					#         
	print("  \t\tQQ\t\t\t  \t\t  ")
	for temp in card_infors:
		if find_name == temp["name"]:
			print("%-12s%-12s%-12s%s"%(temp['name'],temp['qq'],temp['weixin'],temp['addr']))#        \t      ,            ,              
			find_flag = 1							#     

	if find_flag == 0:								#       
		print("        ╮( ̄▽ ̄)╭....")

def show_all_infor():
	"""         """

	print("  \t\tQQ\t\t\t  \t\t  ")			#        
	for temp in card_infors:
		print("%-12s%-12s%-12s%s"%(temp['name'],temp['qq'],temp['weixin'],temp['addr']))
def main():
	"""          """
	print_menu()									#1.      

	while True:

		num = int(input("       :"))		#2.       

		if num==1:									#3.              
			add_new_card_infor()
		elif num==2:
			dele_card_infor()
		elif num==3:
			modify_card_infor()
		elif num==4:
			find_card_infor()
		elif num==5:
			show_all_infor()
		elif num==6:
			break
		else:
			print("    ,     ")
		print("")

main()	#     


変更された関数は、次のように変更できます.
def modify_card_infor():
	"""        """

	modify_name = input("           :")	#            
#	find_flag = 0									#        
	modify_flag = 0									#        ,      
#	sign = 0
	for temp in card_infors:
#		sign+=1
		if modify_name == temp["name"]:
#			find_flag = 1
			print("1.    ")						#      
			print("2.  QQ")
			print("3.  weixin")
			print("4.    ")
			print("5.      ")
			while True:
				num2 = int(input("             :"))	#          
				if num2==1:
#					card_infors[sign-1]["name"] = input("            :")  #                
					temp["name"] = input("            :")
					modify_flag = 1
				elif num2==2:
#					card_infors[sign-1]["qq"] = input("          QQ:")
					temp["qq"] = input("          QQ:")
					modify_flag = 1
				elif num2==3:
#					card_infors[sign-1]["weixin"] = input("          weixin:")
					temp["weixin"] = input("          weixin:")
					modify_flag = 1
				elif num2==4:
#					card_infors[sign-1]["addr"] = input("            :")
					temp["addr"] = input("            :")
					modify_flag = 1
				elif num2==5:
					break
				else:
					print("    ,     :")
				if modify_flag == 1:				#        
					print("    !")
					break
			break