Test python關於列表及字典的應用 1

2021-08-14 08:19:07 字數 4109 閱讀 2005

1.使用者登入程式版本

• 使用者名稱和密碼分別儲存在列表中;

• 使用者登入時,判斷該使用者是否註冊;

• 使用者登入時,為防止黑客暴力破解, 僅有三次機會;

• 如果登入成功,顯示登入成功(exit(), break).

#!/usr/bin/env python

#coding:utf-8

users = ['user1','user2','user3']

passwords = ['123','456','789']

trycount = 0

while trycount < 3:

iuser = raw_input('請輸入使用者名稱:')

if iuser not

in users:

print

'該使用者名稱未註冊!!'

break

else:

ipasswd = raw_input('請輸入密碼:')

n = users.index(iuser)

if ipasswd == passwords[n]:

print

'密碼正確,登陸成功!!!'

break

else:

print

'密碼錯誤,登入失敗!!!'

trycount += 1

continue

else:

print

'密碼錯誤超過三次,登入失敗!!'

2. 列表構建棧

• 棧是先進後出(lifo-first in last out);

• 類似於往箱子裡面放書;

**實現如下: (實際應用中這樣太麻煩,之後的總結中會用類實現)

#!/usr/bin/env python

#coding:utf-8

stack =

info = '''

棧操作1)入棧

2)出棧

3)棧長度

4)檢視棧

5)退出

請輸入你的選擇:'''

while

1: choice = raw_input(info).strip()

if choice == '1':

print

'入棧操作'.center(40,'*')

value = raw_input('請輸入入棧元素:')

print

'元素 %s 入棧成功...'%(value)

elif choice == '2':

print

'出棧操作'.center(40,'*')

if len(stack) == 0:

print

'棧為空'

else:

item = stack.pop()

print

'元素 %s 出棧成功...'%(item)

elif choice == '3':

print

'檢視棧長度'.center(40,'*')

print len(stack)

elif choice == '4':

print

'檢視棧內容'.center(40,'*')

print stack

elif choice == '5':

print

'您已退出'

break

else:

print

'請輸入正確選擇!!!'

3. 佇列

• 佇列是先進先出(fifo):

• 類似於去餐廳買飯排隊;

#!/usr/bin/env python

#coding:utf-8

stack =

info = """

佇列操作

1)入隊

2)出隊

3)檢視佇列

4)退出

請輸入您的選擇:"""

while

1: choice = raw_input(info).strip()

if choice == '1':

print

'入隊操作'.center(40,'*')

value = raw_input('請輸入入隊元素:')

print

'元素 %s 入隊成功'%(value)

elif choice == '2':

print

'出隊操作'.center(40,'*')

if len(stack) == 0:

print

'隊列為空'

else:

item = stack.pop(0)

print

'元素 %s 出隊成功'%(value)

elif choice == '3':

print

'檢視佇列'.center(40,'*')

print stack

elif choice == '4':

print

'您已退出'

break

else:

print

'請輸入正確選擇!!!'

1. 生成多個銀行卡號

卡號由 6 位組成, 前 3 位是 610 , 後面的依次是 001, 002, 003…100, 且初始化密碼為」000000」

#!/usr/bin/env python

#coding:utf-8

cardids =

for i in range(1, 101): # i = 1, 2, 3, 4...100

a = "610%.3d" %(i) # a= 610001, 610002, 610003, ....610100

print {}.fromkeys(cardids, "000000")

2. 通過字典實現case語句

目前python不支援case語句,且實現case語句有如下兩種方式:

• if…elif…elif…else…

• 字典實現

1) if語句實現

#!/usr/bin/env python

#coding:utf-8

from __future__ import division

num1 = input('請輸入num1: ')

ope = raw_input('請輸入運算子: ')

num2 = input('請輸入num2: ')

#case 語句

if ope == '+':

print num1+num2

elif ope == '-':

print num1-num2

elif ope == '*':

print num1*num2

elif ope == '/':

print num1/num2

else:

print

'您輸入的運算子不合法!'

2) 字典實現

#!/usr/bin/env python

#coding:utf-8

from __future__ import division

num1 = input('請輸入num1: ')

ope = raw_input('請輸入運算子: ')

num2 = input('請輸入num2: ')

d =

ifnot ope in d:

print

'error operator'

else:

print d[ope]

3. 使用者管理系統

1)註冊新使用者

如果註冊使用者已經存在,則報錯;

需要填寫資訊: name, passwd, gender, email,age;

2)使用者登入

為防止黑客攻擊,只有三次登陸即會

3)登出使用者 使用者登出時,需要輸入使用者名稱和正確的使用者密碼

4)顯示使用者資訊 顯示系統中存在所有已經註冊使用者的資訊;

5)退出系統

下接~

Test python關於列表及字典的應用 2

法一 usr bin env python coding utf 8 users info 使用者管理系統 1.註冊新使用者 2.使用者登陸 3.登出使用者 4.顯示使用者資訊 5.退出系統 請輸入您的選擇 while 1 choice raw input info strip 註冊新使用者 if ...

關於敏感列表

在always 塊中建立組合邏輯模型時,如果敏感列表沒有完成,在 中將會以鎖存器的形式出現,但是在綜合中將列出所有的敏感訊號列表,從而建立相應的組合邏輯 可能也是有鎖存器的 只能對 always 塊中的訊號 敏感,對外部 always 塊中的函式引用的訊號不敏感。組合邏輯中要對ram 中的每個元素都...

關於列表的3道題目及多種解法

已知 lst 1,2,3,4,5,6 題1.請列印輸出 0,1 1,2 2,3 3,4 4,5 5,6 方法1 for i in lst print s,s lst.index i i 0,11,2 2,33,4 4,55,6 方法2 for i in range len lst print s,s...