本帖最后由 Twilight6 于 2020-5-10 23:02 编辑
20行转整型多余的操作都学23课时了 字符串的操作应该有了解吧 用str.isdigit(),建议在开始输入代码这里加入判断输入的是不是数字,
如果不是就提示输入错误,不然报错看着多难受,代码如下:
(isdigit()如果字符串只包含数字则返回 True,否则返回 False。)while num!=4:
print("——————————————————————————————————")
num = input('请输入相关指令代码:')
if num.isdigit():
num = int(num)
foo(num)
else:
print('错误:请输入规范!')
你这里没必要把input 的值弄成int 然后又用 %d 把整型的input 格式化到字符串 本来input就是字符串 无用功太多了帮你改了下也增加了输入非数字时候的提示print("|---欢迎进入通讯录程序---|")
print("|---1:查询联系人资料---|")
print("|---2:插入新的联系人---|")
print("|---3:删除已有联系人---|")
print("|---4:退出通讯录程序---|")
num = input('请输入相关指令代码:')
dict1 = {}
def foo(num):
if num == 1:
name1 = input("请输入联系人姓名:")
if name1 not in dict1.keys():
print('未查找到该联系人!')
else:
print(name1, ":", dict1[name1])
if num == 2:
while True:
name2 = input("请输入联系人姓名:")
phone2 = input("请输入用户联系电话:")
if phone2.isdigit():
if name2 not in dict1.keys():
dict1[name2] = phone2
else:
print("您输入的姓名在通讯录中已存在-->", name2, ':', dict1[name2])
decide1 = input("是否修改用户资料(Yes/No)")
if decide1 == 'Yes':
phone21 = input("请输入用户联系人电话:")
dict1[name2] = phone21
break
else:
print('错误:输入的不是数字!请请重新输入!')
if num == 3:
name3 = input('请输入需要删除的联系人姓名:')
if name3 in dict1.keys():
dict1.pop(name3)
else:
print('查无此人!')
while num == 4:
print("|———感谢使用通讯录程序———|")
break
if num != 1 and num != 2 and num != 3 and num != 4:
print('请输入正确的代码编号')
if num.isdigit():
num = int(num)
foo(num)
else:
print('错误:输入的不是整数!请请重新输入!')
while True:
print("——————————————————————————————————")
num = input('请输入相关指令代码:')
if num.isdigit():
num = int(num)
foo(num)
else:
print('错误:输入的不是整数!请请重新输入!')
|