鱼C论坛

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

条件表达式

[复制链接]
发表于 2022-4-6 13:05:30 | 显示全部楼层 |阅读模式

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

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

x
为什么我的条件表达式报错啊。。 flag2 = 1 if jixu == 'Y' else flag2 = 0 改成这样就可以
if jixu =='Y ':
        flag2 =1
else:
        flag2 = 0


key = ''
phone = dict.fromkeys(' ')
namel = []
flag1 = True

print('欢迎进入鱼C电话簿')
while flag1:
    ins = input('''
请输入指令(I:录入/C:查询/D:删除/P:打印/E:退出:)''')
    if ins == 'I':##录入电话功能
        flag2 = True
        while flag2:
            name = input('请输入姓名:')
            if name in phone:
                print(f'该姓名已录入,电话号码是:{phone[name]}')
                modify = input('请问是否修改(Y/N):')
                if modify == 'Y':
                    phone[name] = input('请输入新的电话:')
            else:
                flag3 = True
                while flag3:
                    tel = input('请输入电话:')
                    if (len(tel) == 11) and tel.isdigit():##检查电话11位数字
                        phone[name] = tel
                        flag3 = 0
                    else:
                        print('输入不合法,请重新输入:')
                        flag3 = True
            jixu =input('是否还要继续(Y/N):')##是否还要继续
            flag2 = 1 if jixu == 'Y' else flag2 = 0
    elif ins == 'C':
        turn_1 = 1
        while turn_1:
            check_name = input(f'''-- 查询模式 -- \n请输入姓名:''')
            print(f'{check_name}:{phone[check_name]}')
            turn_ =input('是否还要继续(Y/N):')##是否还要继续
            if turn_ == 'Y':
                turn_1 = 1
            else:
                turn_1 = 0
    elif ins == 'D':
        turn_2 = 1
        while turn_2:
            delete_ = input(f'''-- 删除模式 --\n请输入姓名''')
            phone.pop(delete_)
            turn_ =input('是否还要继续(Y/N):')##是否还要继续
            if turn_ == 'Y':
                turn_2 = 1
            else:
                turn_2 = 0
    elif ins == 'P':
        phone.pop(' ')
        print(f'''-- 打印模式 --\n{phone}\n''')
    elif ins == 'E':
        break
            
捕获.JPG
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-4-6 13:08:11 | 显示全部楼层
本帖最后由 isdkz 于 2022-4-6 13:11 编辑

三元表达式不是那样用的,应该是 flag2 = 1 if jixu == 'Y' else 0 ,相当于 flag2 = (1 if jixu == 'Y' else 0),三元表达式的结果不能用赋值表达式

  1. key = ''
  2. phone = dict.fromkeys(' ')
  3. namel = []
  4. flag1 = True

  5. print('欢迎进入鱼C电话簿')
  6. while flag1:
  7.     ins = input('''
  8. 请输入指令(I:录入/C:查询/D:删除/P:打印/E:退出:)''')
  9.     if ins == 'I':##录入电话功能
  10.         flag2 = True
  11.         while flag2:
  12.             name = input('请输入姓名:')
  13.             if name in phone:
  14.                 print(f'该姓名已录入,电话号码是:{phone[name]}')
  15.                 modify = input('请问是否修改(Y/N):')
  16.                 if modify == 'Y':
  17.                     phone[name] = input('请输入新的电话:')
  18.             else:
  19.                 flag3 = True
  20.                 while flag3:
  21.                     tel = input('请输入电话:')
  22.                     if (len(tel) == 11) and tel.isdigit():##检查电话11位数字
  23.                         phone[name] = tel
  24.                         flag3 = 0
  25.                     else:
  26.                         print('输入不合法,请重新输入:')
  27.                         flag3 = True
  28.             jixu =input('是否还要继续(Y/N):')##是否还要继续
  29.             flag2 = 1 if jixu == 'Y' else 0
  30.     elif ins == 'C':
  31.         turn_1 = 1
  32.         while turn_1:
  33.             check_name = input(f'''-- 查询模式 -- \n请输入姓名:''')
  34.             print(f'{check_name}:{phone[check_name]}')
  35.             turn_ =input('是否还要继续(Y/N):')##是否还要继续
  36.             if turn_ == 'Y':
  37.                 turn_1 = 1
  38.             else:
  39.                 turn_1 = 0
  40.     elif ins == 'D':
  41.         turn_2 = 1
  42.         while turn_2:
  43.             delete_ = input(f'''-- 删除模式 --\n请输入姓名''')
  44.             phone.pop(delete_)
  45.             turn_ =input('是否还要继续(Y/N):')##是否还要继续
  46.             if turn_ == 'Y':
  47.                 turn_2 = 1
  48.             else:
  49.                 turn_2 = 0
  50.     elif ins == 'P':
  51.         phone.pop(' ')
  52.         print(f'''-- 打印模式 --\n{phone}\n''')
  53.     elif ins == 'E':
  54.         break
复制代码

评分

参与人数 1荣誉 +5 鱼币 +5 收起 理由
python爱好者. + 5 + 5

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-6 13:28:04 | 显示全部楼层
三元表达式:
https://mp.weixin.qq.com/s?__biz=MjM5ODQ2NTgwMQ==&mid=2648933217&idx=1&sn=faf6312f44b3d53ce127a211e0e72d25&chksm=bedd7b0789aaf21148352d97b0c2dedad4be03dadad605f1698f573c418e836de0b6eae08a1f&scene=21#wechat_redirect
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-29 08:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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