用Python创建一个学生字典并可以查询其中信息

用Python创建一个学生字典并可以查询其中信息,第1张

你可以试试这个----------------------------------------------------------

# -*- coding:UTF-8 -*-

students=[]

def meun():

print("="*30)

print("*"*10+"学生信息管理"+"*"*10)

print("1.添加学生信息")

print("2.删除学生信息")

print("3.指定学号查询学生信息")

print("4.查询全部学生信息")

print("5.保存信息")

print("0.退出系统")

print("="*30)

def add_new_info():

      global students

      print("您选择了添加学生信息功能")

      name = input("请输入学生姓名:")

     拍此岁 stuId = input("请输入学生学号(学号不可重复):")

      age = input("请输入学生年龄:")

      #验证学号是否唯一

      i = 0

      leap = 0

      for temp in students:

          if temp['id'] == stuId:

              leap = 1

              break

          else:

              i = i + 1

          if leap == 1:

              print("输入学生学号重复,添加失败!")

              break

      else:

          # 定义一个字典,存放单个学生信息

          stuInfo = {}

          stuInfo['name'] = name

          stuInfo['id'] = stuId

          stuInfo['age'] = age

          # 单个学生信息放入列表

          students.append(stuInfo)

          print("添加成功!")

def del_info():

      global students

      print("您选择了删除学生功能")

      delId=input("请输入要删除的学生学号:")

      #i记录要删除的下标,leap为标志位,如果找到leap=1,否则为0

      i = 0

      leap = 0

      for temp in students:

         if temp['id'] == delId:

              leap = 1

              break

         else:

             i=i+1

      if leap == 0:

          print("没有此学生学号,删除失败!")

      else:

          del students[i]

          print("删除成功!")

def search_info():

  global students

  searchID=input("请输入你要查询学生的学号:")

   

   扒胡   #验证是否有此学号

  i = 0

  leap = 0

  for temp in students:

      if temp['id'] == searchID:

          leap = 1

          break

      else:

          i = i + 1

  if leap == 0:

      print("没有此学生学号,查询失败!")

  else:

      print("找到此学生,信息如下:")

      print("学号:%s\n姓名袭睁:%s\n年龄:%s\n"%(temp['id'],temp['name'],temp['age']))

def print_all_info():

      print("序号\t\t学号\t\t姓名\t\t年龄")

      for temp in students:

              print("sno:%s,stuName:%s,stuAge:%s"  %(temp['id'],temp['name'],temp['age']))

              print("*"*20)

   

def loda_data():

#加在之前存储的数据

global students

f = open("info_data.data")

content = f.read()

info_list = eval(content)

f.close()

def main():

#加在数据(先存好数据,在打开这个数据直接读取数据)

#load_data()

while True:

#1.打印工程

meun()

#2.获取用户的选择

key = input("请输入要进行的 *** 作):")

#3.根据用户的选择,作出相应的事件

if key == "1":

add_new_info()

elif key == "2":

del_info()

elif key == "3":

search_info()

elif key == "4":

print_all_info()

elif key == "5":

save_data()

elif key == "0":

exit_flag = input("你确定要退出吗?(yes or no)")

if exit_flag == "yes":

break

else:

print("输入有误,请重新输入。。。")

input("\n\n\n按回车键可以继续。。。")

continue

#程序开始

main()

摘自 网页链接-------------------------------------------------------------------

请采纳,谢谢

dict使用items()遍历字典的方法握颂(python3是items(),python2是iteritems())。

dict1 = {'a': 2, 'b': 3, 'c': 2 }

def dict(value):

 巧念 孝皮困  for k, v in dict1.items():

        if v == value:

            print("{%s: %s}" % (k, v))

dict(2)

1.传统的文字表达式:

>>>

d={'name':'allen','age':21,'gender':'male'困判}>>>

d

{'age':

21,

'name':

'allen',

'gender':

'male'}123

如果你可以事先拼出整个字典,这种方式是很方便的。

2.动态分配键值:

>>>

d={}>>>

d['name']='allen'>>>

d['age']=21>>>

d['gender']='male'>>>

d

{'age':

21,

'name':

'轮启allen',

'gender':

'male'}123456

如果你需要一次动态地建立一个字典的一个字段,那么这种方式比较合适。

字典与列表不同,不能通过偏移量进行复制,只能通过键来读取或赋值,所以也可以这样为字典赋值,当然访问不存在的键会报错:

>>>

d[1]='abcd'>>>

d

{1:

'abcd',

'age':

21,

'name':

'allen',

'gender':

'male'}>>>

d[2]

traceback

(most

recent

call

last):

file

"

",

line

1,

in

d[2]

keyerror:

212345678

3.字典键值表

>>>

c

=

dict(name='allen',

age=14,

gender='male')>>>

c

{'gender':

'male',

'name':

'allen',

'age':

14}123

因为这种形式语法简单,不易出错,所以非常流行。

这种形式所需的代码比常量少,但是键必须都是字符串才行,所以下列代码会报错:

>>>

c

=

dict(name='allen',

age=14,

gender='male',

1='abcd')syntaxerror:

keyword

can't

be

an

expression12

4.字典键值元组表

>>>

e=dict([('name','allen'),('age',21),('gender','male')])>>>

e

{'age':

21,

'name':

'allen',

'gender':

'male'}123

如果你需要在程序运行时把键和值逐步建成序列,那么这种方式比较有用。

5.所有键的值都相同或者赋予初始汪桐改值:

>>>

f=dict.fromkeys(['height','weight'],'normal')>>>

f

{'weight':

'normal',

'height':

'normal'}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12397999.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存