条件表达式
为什么我的条件表达式报错啊。。 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}')
modify = input('请问是否修改(Y/N):')
if modify == 'Y':
phone = input('请输入新的电话:')
else:
flag3 = True
while flag3:
tel = input('请输入电话:')
if (len(tel) == 11) and tel.isdigit():##检查电话11位数字
phone = 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}')
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
本帖最后由 isdkz 于 2022-4-6 13:11 编辑
三元表达式不是那样用的,应该是 flag2 = 1 if jixu == 'Y' else 0 ,相当于 flag2 = (1 if jixu == 'Y' else 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}')
modify = input('请问是否修改(Y/N):')
if modify == 'Y':
phone = input('请输入新的电话:')
else:
flag3 = True
while flag3:
tel = input('请输入电话:')
if (len(tel) == 11) and tel.isdigit():##检查电话11位数字
phone = tel
flag3 = 0
else:
print('输入不合法,请重新输入:')
flag3 = True
jixu =input('是否还要继续(Y/N):')##是否还要继续
flag2 = 1 if jixu == 'Y' else 0
elif ins == 'C':
turn_1 = 1
while turn_1:
check_name = input(f'''-- 查询模式 -- \n请输入姓名:''')
print(f'{check_name}:{phone}')
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 三元表达式:
https://mp.weixin.qq.com/s?__biz=MjM5ODQ2NTgwMQ==&mid=2648933217&idx=1&sn=faf6312f44b3d53ce127a211e0e72d25&chksm=bedd7b0789aaf21148352d97b0c2dedad4be03dadad605f1698f573c418e836de0b6eae08a1f&scene=21#wechat_redirect
页:
[1]