鱼C论坛

 找回密码
 立即注册
查看: 2025|回复: 2

通讯录中的一个 小问题

[复制链接]
发表于 2018-9-9 14:57:36 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 ChuckCheng 于 2018-9-9 15:00 编辑

25讲通讯录程序中,注意一个小问题。以下是正确的代码,但是在tenp=1的条件语句,如果把 print('\n')和 temp=input('请输入相关指令代码:')   都往后一个空格和前一个print对齐的话,为什么会出现一个死循环
正确的代码                                                                                                                                 
print('''|---欢迎进入通讯程序---|
|---1:查询联系人资料---|
|---2:插入新的联系人---|
|---3:删除已有联系人---|
|---4:退出通讯录程序---|''')
print('\n')
contact={} #设计一个 空的字典
name=list(contact)#这样是去除字典中的键,作为一个列表,方便后面处理
temp=input('请输入相关指令代码:')      
while temp!='4':##循环
            
            
    if temp=='2':
               
            info=input('请输入联系人姓名:')

            if info not in name:                               ##如果输入的名不在字典中,则创建一个
                num=input('请输入用户联系电话:')
                contact[info]=num    ##输入电话号码

            else:
                print('您输入的姓名在通讯录中已存在--->>',info,':',contact[info])
                remedy=input('是否修改用户资料(YES/NO):')
                if remedy=='YES':
                          num=input('请输入用户联系电话:') ##修改电话号码
                          contact[info]=num              
            name=list(contact) ##其实这里不用更新name,因为改变只是value电话号码,姓名并没有少
            print('\n')   
            temp=input('请输入相关指令代码:')
    elif temp=='1':
            
            check=input('请输入联系人姓名:')
            if check in name:
                print(check,':',contact[check])
            else:
                print('通讯录中无此人')
            print('\n')                                             
            temp=input('请输入相关指令代码:')                 

    elif temp=='3':
        factor=input('输入删除对象:')
        if factor not in name:
            print('用户不存在')
        else:
            name.remove(factor)

        print('\n')
        temp=input('请输入相关指令代码:')                  
    else:
        temp=input('输入错误,请输入相关指令代码:')  
        print('\n')                                                               
print('|---感谢使用通讯录程序---|')



有问题的代码:
print('''|---欢迎进入通讯程序---|
|---1:查询联系人资料---|
|---2:插入新的联系人---|
|---3:删除已有联系人---|
|---4:退出通讯录程序---|''')
print('\n')

contact={} #设计一个 空的字典

name=list(contact)#这样是去除字典中的键,作为一个列表,方便后面处理


temp=input('请输入相关指令代码:')
      

  
while temp!='4':##循环
            
            
    if temp=='2':
               
            info=input('请输入联系人姓名:')

            if info not in name:                               ##如果输入的名不在字典中,则创建一个
                num=input('请输入用户联系电话:')
                contact[info]=num    ##输入电话号码

            else:
                print('您输入的姓名在通讯录中已存在--->>',info,':',contact[info])
                remedy=input('是否修改用户资料(YES/NO):')
                if remedy=='YES':
                          num=input('请输入用户联系电话:') ##修改电话号码
                          contact[info]=num              
            name=list(contact) ##其实这里不用更新name,因为改变只是value电话号码,姓名并没有少
            print('\n')   
            temp=input('请输入相关指令代码:')
    elif temp=='1':
            
            check=input('请输入联系人姓名:')
            if check in name:
                print(check,':',contact[check])
            else:
                print('通讯录中无此人')
                print('\n')                                   ########对齐之后,会出现死循环,这是为什么
                temp=input('请输入相关指令代码:')                 


    elif temp=='3':
        factor=input('输入删除对象:')
        if factor not in name:
            print('用户不存在')
        else:
            name.remove(factor)
           
        print('\n')
        temp=input('请输入相关指令代码:')                  
    else:
        temp=input('输入错误,请输入相关指令代码:')  
        print('\n')
   
                                            
            
        
print('|---感谢使用通讯录程序---|')



            

死循环

死循环
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-9-12 21:17:22 | 显示全部楼层

回帖奖励 +4 鱼币

不会
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-9-13 08:44:48 | 显示全部楼层

回帖奖励 +4 鱼币

支持楼主!楼主加油
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-7 00:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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