鱼C论坛

 找回密码
 立即注册
查看: 1666|回复: 12

[已解决]新手求助!一个关于简易信息管理系统的求助

[复制链接]
发表于 2021-1-8 15:01:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 AresFC 于 2021-1-8 15:08 编辑

000
最佳答案
2021-1-8 15:20:58
AresFC 发表于 2021-1-8 15:19
谢谢!请问这里为什么一定需要加号呢?
刚刚开始学习Python还不太熟练望谅解

d是字符串类型(input函数的返回值就是字符串)
print函数中,字符串的拼接需要用+实现
要么就用逗号隔开,分开打印
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-1-8 15:02:26 | 显示全部楼层
帖子发不出去了!问题放在二楼!

麻烦各位大神看看哪里错了
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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-8 15:07:16 | 显示全部楼层
你应该自己说说错哪了吧,你怎么发现错的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-8 15:10:14 | 显示全部楼层
tryhi 发表于 2021-1-8 15:07
你应该自己说说错哪了吧,你怎么发现错的

运行的时候显示invalid syntax,定位在第42行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-8 15:12:20 | 显示全部楼层
AresFC 发表于 2021-1-8 15:02
帖子发不出去了!问题放在二楼!

麻烦各位大神看看哪里错了

第四十一行
改成
                print('已删除学号为'+d+'的学生信息')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-8 15:12:47 | 显示全部楼层
AresFC 发表于 2021-1-8 15:10
运行的时候显示invalid syntax,定位在第42行
print('已删除学号为'd'的学生信息')

那就研究一下这行哪里错咯,提取出来,把d赋个值,在运行,不就发现了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-8 15:13:39 | 显示全部楼层
需求为:有一txt文档命名为‘address.txt’,里面有多条数据,需要完成1.显示所有信息2.追加信息3.删除信息4.退出 这样四个操作,用户通过输入数字选择功能
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-8 15:17:25 | 显示全部楼层
                print('已删除学号为'd'的学生信息')
                     改为
                print('已删除学号为 %s 的学生信息' % d)
                    或
                print('已删除学号为' , d , '的学生信息')
                    或
                print('已删除学号为' + d + '的学生信息')
                   都可以,唯独不改不可以
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-8 15:19:00 | 显示全部楼层
AresFC 发表于 2021-1-8 15:13
需求为:有一txt文档命名为‘address.txt’,里面有多条数据,需要完成1.显示所有信息2.追加信息3.删除信息 ...


看五楼回复,八楼正解
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-8 15:19:43 | 显示全部楼层
昨非 发表于 2021-1-8 15:12
第四十一行
改成

谢谢!请问这里为什么一定需要加号呢?
刚刚开始学习Python还不太熟练望谅解
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-8 15:20:58 | 显示全部楼层    本楼为最佳答案   
AresFC 发表于 2021-1-8 15:19
谢谢!请问这里为什么一定需要加号呢?
刚刚开始学习Python还不太熟练望谅解

d是字符串类型(input函数的返回值就是字符串)
print函数中,字符串的拼接需要用+实现
要么就用逗号隔开,分开打印
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-8 15:43:11 | 显示全部楼层
谢谢大家!默默问一下如果出现报错应该如何找原因啊
比如出现类似报错(invalid syntax)是要先检查前面一行吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-13 18:08:39 | 显示全部楼层
AresFC 发表于 2021-1-8 15:43
谢谢大家!默默问一下如果出现报错应该如何找原因啊
比如出现类似报错(invalid syntax)是要先检查前面一 ...


英文报错看不懂的话建议复制到百度翻译上去,
看看中文意思,然后再定位错误位置,一般都在报错位置的上下两行
当然要具体问题具体分析哈

还有,
楼主问题解决了记得设置最佳答案,养成及时结帖的好习惯,
这样以后再提问题大家才会积极回答
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-16 18:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表