python某公司为员工发放奖品_python 练习2
#######假定有下面這樣的列表:
names = ['fentiao', 'fendai', 'fensi', 'apple']
輸出結(jié)果為:'I have fentiao, fendai, fensi and apple.'
names = ['fentiao', 'fendai', 'fensi', 'apple']
print 'I have ' + ','.join(names[:-1]) + ' and ' + names[-1]
######系統(tǒng)里面有用戶 用戶有密碼
users = ['root','westos']
passwds = ['123','456']
####用戶登陸(判斷用戶登陸是否成功)
1).判斷用戶是否存在
2).如果存在:
判斷用戶密碼是否正確:先找出用戶對(duì)應(yīng)的索引,
根據(jù)passwds[索引值]
如果正確:登陸成功,退出循環(huán)
如果密碼不正確:重新登陸 (機(jī)會(huì)只有三次)
2).不存在
重新登陸(機(jī)會(huì)只有三次)
"""
users = ['root','westos']
passwds = ['123','456']
trycont = 0
while trycont < 3:
inuser = raw_input('用戶名:')
inpasswd = raw_input('密碼:')
trycont += 1
if inuser in users:
index = users.index(inuser)
passwd = passwds[index]
if inpasswd == passwd:
print '%s 登陸成功' % inuser
break
else:
print '%s 登陸失敗' % inuser
else:
print '用戶%s 不存在' % inuser
else:
print '三次機(jī)會(huì)已經(jīng)用完'
后臺(tái)管理員只有一個(gè)用戶:admin 密碼:admin
2.當(dāng)管理員登陸成功后,才可以管理用戶信息
3.管理用戶信息包含
添加用戶信息
刪除用戶信息
查看用戶信息
退出
"""
print '管理員登陸'.center(50, '*')
inuser = raw_input('UserName:')
inpasswd = raw_input('Password:')
users = ['root', 'westos']
passwds = ['123', '456']
if inuser == 'admin' and inpasswd == 'admin':
print '管理員登陸成功'
print '用戶信息管理'.center(50, '*')
while True:
print """
1 -添加用戶信息
2 -刪除用戶信息
3 -查看用戶信息
4 -退出
"""
choice = raw_input('請(qǐng)選擇你的操作:')
if choice == '1':
print '添加用戶信息'.center(50, '*')
addUser = raw_input('添加用戶:')
if addUser in users:
print '用戶%s已經(jīng)存在' % addUser
else:
addPasswd = raw_input('密碼:')
users.append(addUser)
passwds.append(addPasswd)
print '添加用戶%s成功' %addUser
elif choice == '2':
print '刪除用戶信息'.center(50,'*')
delUser = raw_input('刪除的用戶:')
delIndex = users.index(delUser)
users.remove(delUser)
passwds.pop(delIndex)
print '刪除用戶%s成功' %delUser
elif choice == '3':
print '查看用戶信息'.center(50,'*')
print '\t用戶名\t密碼'
userCount = len(users) #2
for i in range(userCount): # 0 ,1
print '\t%s\t%s' %(users[i],passwds[i])
elif choice == '4':
exit()
else:
print '請(qǐng)輸入正確的選擇'
else:
print '管理員登陸失敗!'
重復(fù)的單詞: 此處認(rèn)為單詞之間以空格為分隔符, 并且不包含,和.;
# 1. 用戶輸入一句英文句子;
# 2. 打印出每個(gè)單詞及其重復(fù)的次數(shù);
"hello java hello python"
hello 2
java 1
python 1
s = raw_input('s:')
# 1.把每個(gè)單詞分割處理
s_li = s.split()
print s_li
# 2.通過字典存儲(chǔ)單詞和該單詞出現(xiàn)的次數(shù)
words_dict = {}
數(shù)字重復(fù)統(tǒng)計(jì):
1). 隨機(jī)生成1000個(gè)整數(shù);
2). 數(shù)字的范圍[20, 100],
3). 升序輸出所有不同的數(shù)字及其每個(gè)數(shù)字重復(fù)的次數(shù);
"""
import random
# 1.隨機(jī)生成1000個(gè)整數(shù)
all_nums = []
for item in range(1000):
# 2.數(shù)字的范圍
all_nums.append(random.randint(20, 100))
# 3.升序輸出所有不同的數(shù)字及其每個(gè)數(shù)字重復(fù)的次數(shù)
sorted_num = sorted(all_nums)
nums_dict = {}
for num in sorted_num:
if num in nums_dict:
nums_dict[num] += 1
else:
nums_dict[num] = 1
print nums_dict
案例1:
編寫一個(gè)函數(shù)cacluate, 可以接收任意多個(gè)數(shù),返回的是一個(gè)元組.
元組的第一個(gè)值為所有參數(shù)的平均值, 第二個(gè)值是大于平均值的所有數(shù)
案例2:
編寫函數(shù), 接收一個(gè)列表(包含30個(gè)整形數(shù))和一個(gè)整形數(shù)k, 返回一個(gè)新列表.
函數(shù)需求:
- 將列表下標(biāo)k之前對(duì)應(yīng)(不包含k)的元素逆序;
- 將下標(biāo)k及之后的元素逆序;
"""
def cacluate(*num):
li = []
avg = sum(num)/len(num)
for i in num:
if i > avg:
li.append(i)
return avg,li
count = cacluate(12,13,14,15,16)
print count
import random
def fun(alist, k):
if k < 0 or k > len(alist):
return 'error key'
newL1 = alist[:k]
newL2 = newL1[::-1]
newL3 = alist[k:]
newL4 = newL3[::-1]
return newL2 + newL4
list = []
for i in range(30):
num = random.randint(1,100)
list.append(num)
print list
a = fun(list,4)
print a
def fun(alist, k):
if k < 0 or k > len(alist):
return 'error key'
return alist[:k][::-1] + alist[k:][::-1]
######擬輪盤抽獎(jiǎng)游戲
輪盤分為三部分: 一等獎(jiǎng), 二等獎(jiǎng)和三等獎(jiǎng);
輪盤轉(zhuǎn)的時(shí)候是隨機(jī)的,
如果范圍在[0,0.08)之間,代表一等獎(jiǎng),
如果范圍在[0.08,0.3)之間,代表2等獎(jiǎng),
如果范圍在[0, 1.0)之間,代表3等獎(jiǎng),
模擬本次活動(dòng)1000人參加, 模擬游戲時(shí)需要準(zhǔn)備各等級(jí)獎(jiǎng)品的個(gè)數(shù).
import random
rewardDict = {
'一等獎(jiǎng)': (0, 0.08),
'二等獎(jiǎng)': (0.08, 0.3),
'三等獎(jiǎng)': (0.3, 1)
}
def rewardFun():
"""用戶得獎(jiǎng)等級(jí)"""
# 生成一個(gè)0~1之間的隨機(jī)數(shù)
num = random.random()
# 判斷隨機(jī)轉(zhuǎn)盤轉(zhuǎn)的數(shù)是幾等獎(jiǎng)
for k, v in rewardDict.items():
# 這里的v是元組
if v[0] <= num < v[1]:
return k
# print rewardFun()
resultDict = {}
for i in range(1000):
# res:本次轉(zhuǎn)盤的等級(jí)(一/二/三等獎(jiǎng))
res = rewardFun()
if res not in resultDict:
resultDict[res] = 1
else:
resultDict[res] = resultDict[res] + 1
for k, v in resultDict.items():
print k, '---------->', v
########編寫一個(gè)名為collatz()的函數(shù),它有一個(gè)名為number的參數(shù)
如果參數(shù)是偶數(shù),那么collatz()就打印出number//2
如果number是奇數(shù),collatz()就打印3*number+1
def collatz(number):
if number % 2 == 0:
print number // 2
else:
print 3 * number + 1
print number // 2 if number % 2 == 0 else 3 * number + 1
collatz(2)
總結(jié)
以上是生活随笔為你收集整理的python某公司为员工发放奖品_python 练习2的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电动车的底 就靠轮胎来兜了
- 下一篇: python excel token_p