AresFC 发表于 2021-1-8 14:50:09

一个关于简易信息管理系统的提问

新手求助,麻烦各位大神帮忙看下代码哪里错了{:10_266:}

要求:有一txt文件,内有多行信息,类似于:
101,aa,12345678,Beijing
102,bb,23456781,shanghai
103,cc,34567891,hainan
……

要求实现“1.显示所有信息 2.追加信息3.删除信息4.退出”四个功能,用户输入数字选择功能

贴我写的代码address=list()
print("1.显示所有信息")
print("2.追加信息")
print("3.删除信息")
print("4.退出")
number=['1','2','3','4']
while True:
    n=(input('请输入数字1-4选择功能:'))
    if n in number:
      break
    else:
      print('输入错误,请重新输入!')
      continue
while True:
    if n=='1':
      f=open('address.txt')
      f.seek(0)
      for line in f:
            print(line,end='')
      f.close()
    elif n=='2':
      a=str(input('请输入学生信息并用逗号隔开:'))
      b=('\n')
      f=open('address.txt','a')
      f.write(b)
      f.write(a)
      f.close()
      f=open('address.txt')
      f.seek(0)
      for line in f:
            print(line,end='\n')
      f.close()
    elif n=='3':
      f=open('address.txt')
      student=list(f)
      f.close()
      f=open('address.txt','w')
      d=input('请输入要删除的学生学号:')
      for s in student:
            if s[:1]==d:
                print('已删除学号为'd'的学生信息')
            else:
                f.write(s)
      f.close()
    else:
      break

昨非 发表于 2021-1-13 18:12:02

和上个帖子一样吧
问题在41行
d是字符串,在print函数中,要么通过字符串拼接拼成一个输出
                print('已删除学号为'+d+'的学生信息')

要么分成多个字符串作为print的参数输出
                print('已删除学号为',d,'的学生信息')

AresFC 发表于 2021-1-13 18:30:09

谢谢!请问出现类似的错误问题都是要到前面一行去找吗

AresFC 发表于 2021-1-13 18:30:50

昨非 发表于 2021-1-13 18:12
和上个帖子一样吧
问题在41行
d是字符串,在print函数中,要么通过字符串拼接拼成一个输出


谢谢!请问出现类似的错误问题都是要到前面一行去找吗

昨非 发表于 2021-1-13 18:34:33

AresFC 发表于 2021-1-13 18:30
谢谢!请问出现类似的错误问题都是要到前面一行去找吗

上个帖子的最后我回复了(那个帖子你也没设最佳哦)
页: [1]
查看完整版本: 一个关于简易信息管理系统的提问