簡易的數字型串列管理系統
可以先嘗試做這個,這個相對下面的還要簡單一點
要是輸入的數字是小數,要用float轉型別而不是int,否者會報錯,大家可以自行去嘗試一下
# 主頁面
def main_page():
print('----------------歡迎來到數字管理系統————————')
print('1.添加數字')
print('2.洗掉數字')
print('3.修改數字')
print('4.展示所有數字')
print('5.對串列求和')
print('6.退出系統')
# 添加數字
def add_num(n):
nums.append(n)
print('添加成功')
# 洗掉數字
def del_num(n):
for i in nums:
if i == n:
nums.remove(n)
print('洗掉成功')
break
else:
print('沒有您要洗掉的這個數字,請先添加')
# 修改數字
def change_num(n):
for i,j in enumerate(nums):# 帶下標的遍歷,前面的是下標,后面的是值
if j == n:
# 注意在輸入的時候時就算是輸入的數字,它的型別也是字串,
# 所以要進行資料型別轉換,還有就是你輸入的不是數字,這里就會報錯
nums[i] = int(input('請輸入修改后的值:'))# 通過下標修改值
print('修改成功')
break
else:
print('你要修改的數不存在')
# 展示所有數字
def show_num():
print(nums)# 這里是直接列印串列
# 下面是回圈列印的
# for i in nums:
# print(i)
# 對串列求和
def sum_nums():
print('串列的數字和為:{}'.format(sum(nums)))# 直接使用sum內置函式對nums求和
# 開始函式
def start():
main_page()
c = int(input('請輸入您要執行的操作(1-6):'))
if c == 1:
print('以下是串列的所有資料,簡易不要重復!!!')
print(nums)
num = int(input('請輸入你要添加的資料:'))
add_num(num)
elif c == 2:
num = int(input('請輸入你要洗掉的資料:'))
del_num(num)
elif c == 3:
print('這是已有的串列資料:', nums)
a = int(input('請輸入你要修改的數字:'))
change_num(a)
elif c == 4:
show_num()
elif c == 5:
sum_nums()
elif c == 6:
print('退出成功')
exit()
else:
print('指令錯誤,請重新輸入')
print() # 添加一個換行和上次操作隔開
if __name__ == '__main__':
# 串列中的數字不要重復,否者只能洗掉前面的那個
# 修改也是一樣就只能修改前面那個數字了
nums = [1,2,3,4,5]# 可以為空,也可現給定一些資料
while True:
start()
這是一個非常簡易的名片管理系統
發出來只要是希望剛大家能把前面所學的知識合理的運用起來,學了后面的知識后,這個系統肯定是還能完善很多的,(這些都是對初學者說的哦,多碼代碼才能易于記憶,大佬就當我沒說,嘿嘿)
缺點:
1、洗掉資訊的時候,如果重名就只能洗掉前面一個,不能想刪哪個就刪哪個;
2、存盤也是一次性的,以后會把資訊存到資料庫或者是檔案中,這樣資料就不是一次性的了;
3、只能根據名字去修改洗掉查詢資料,電話也是唯一的,可以試著加個根據電話修改洗掉查詢資料;
4、大家還可以多加一些資訊,量力而行吧,資訊一多,是很容易出錯的,
5、可以加幾個那種唯一的資訊,比如id啊,這樣查詢修改洗掉的方法又可以增加了;
6、QQ號和電話號碼長度也沒有做判斷;
還有很多不足,大家都可以去嘗試修改,完善
def main_page():
print('名片管理系統')
print('1:添加名片')
print('2:洗掉名片')
print('3:修改名片')
print('4:查詢名片')
print('5:顯示所有名片')
print('6:退出系統')
# 添加資訊
def add_card():
# 以字典的形式保存資訊
person = {}
person['name'] = input('請輸入用戶名:')
person['phone'] = input('請輸入手機號:')
person['QQ'] = input('請輸入QQ號:')
persons.append(person)
print('添加成功')
# 洗掉資訊
def del_card():
del_name = input('請輸入要洗掉的用戶名:')
for person in persons:
if del_name == person['name']:
persons.remove(person)
print('洗掉成功')
break
else:
print('沒有你要洗掉的這個人')
# 修改資訊
def change_card():
change_name = input('請輸入你要修改的名字:')
change_flag = 0
ind = 0 # 下標,用來記錄等下回圈時串列對應的下標
for temp in persons:
if change_name == temp['name']:
print('1:修改用戶名')
print('2:修改電話號碼')
print('3:修改QQ號')
print('4:退出修改系統')
while True:
num1 = int(input('請輸入你要修改的選項:'))
if num1 == 1:
persons[ind]['name'] = input('請輸入您要修改的正確姓名:')
change_flag = 1
elif num1 == 2:
persons[ind]['phone'] = input('請輸入您要修改的正確QQ號:')
change_flag = 1
elif num1 == 3:
persons[ind]['QQ'] = input('請輸入您要修改的正確QQ號:')
change_flag = 1
elif num1 == 4:
break
else:
print('輸入錯誤,請重新輸入!')
if change_flag == 1:
print('修改成功')
break
break
ind += 1
# 查詢資訊
def find_card():
find_name = input('請輸入查詢的用戶名:')
for temp in persons:
if temp['name'] == find_name:
print(f'姓名:{temp["name"]},phone:{temp["phone"]},QQ:{temp["QQ"]}')
break
else:
print('沒有您要查找的資訊')
# 展示所有資訊
def show_card():
for temp in persons:
print(temp)
# 開始
def start():
main_page()
x = int(input('請輸入要的進行的操作:'))
if x == 1:
add_card()
elif x == 2:
del_card()
elif x == 3:
change_card()
elif x == 4:
find_card()
elif x == 5:
show_card()
elif x == 6:
exit()# 直接結束整個程式
else:
print('指令錯誤,請重新輸入')
print()
if __name__ == '__main__':
persons = []
while True:
start()
對于初學者來說,寫出這個肯定是慢慢的成就感,因為我那時就是,加油,讓我們在python這條路上越走越遠
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/245715.html
標籤:其他
