#######假定有下面这样的列表:
names = ['fentiao', 'fendai', 'fensi', 'apple']
输出结果为:'I have fentiao, fendai, fensi and apple.'
names = ['fentiao', 'fendai', 'fensi', 'apple']
print 'I have ' + ','.join(names[:-1]) + ' and ' + names[-1]
######系统里面有用户 用户有密码
users = ['root','westos']
passwds = ['123','456']
####用户登陆(判断用户登陆是否成功)
1).判断用户是否存在
2).如果存在:
判断用户密码是否正确:先找出用户对应的索引,
根据passwds[索引值]
如果正确:登陆成功,退出循环
如果密码不正确:重新登陆 (机会只有三次)
2).不存在
重新登陆(机会只有三次)
"""
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 '三次机会已经用完'
后台管理员只有一个用户:admin 密码:admin
2.当管理员登陆成功后,才可以管理用户信息
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('请选择你的操作:')
if choice == '1':
print '添加用户信息'.center(50, '*')
addUser = raw_input('添加用户:')
if addUser in users:
print '用户%s已经存在' % 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 '请输入正确的选择'
else:
print '管理员登陆失败!'
重复的单词: 此处认为单词之间以空格为分隔符, 并且不包含,和.;
# 1. 用户输入一句英文句子;
# 2. 打印出每个单词及其重复的次数;
"hello java hello python"
hello 2
java 1
python 1
s = raw_input('s:')
# 1.把每个单词分割处理
s_li = s.split()
print s_li
# 2.通过字典存储单词和该单词出现的次数
words_dict = {}
数字重复统计:
1). 随机生成1000个整数;
2). 数字的范围[20, 100],
3). 升序输出所有不同的数字及其每个数字重复的次数;
"""
import random
# 1.随机生成1000个整数
all_nums = []
for item in range(1000):
# 2.数字的范围
all_nums.append(random.randint(20, 100))
# 3.升序输出所有不同的数字及其每个数字重复的次数
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:
编写一个函数cacluate, 可以接收任意多个数,返回的是一个元组.
元组的第一个值为所有参数的平均值, 第二个值是大于平均值的所有数
案例2:
编写函数, 接收一个列表(包含30个整形数)和一个整形数k, 返回一个新列表.
函数需求:
- 将列表下标k之前对应(不包含k)的元素逆序;
- 将下标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]
######拟轮盘抽奖游戏
轮盘分为三部分: 一等奖, 二等奖和三等奖;
轮盘转的时候是随机的,
如果范围在[0,0.08)之间,代表一等奖,
如果范围在[0.08,0.3)之间,代表2等奖,
如果范围在[0, 1.0)之间,代表3等奖,
模拟本次活动1000人参加, 模拟游戏时需要准备各等级奖品的个数.
import random
rewardDict = {
'一等奖': (0, 0.08),
'二等奖': (0.08, 0.3),
'三等奖': (0.3, 1)
}
def rewardFun():
"""用户得奖等级"""
# 生成一个0~1之间的随机数
num = random.random()
# 判断随机转盘转的数是几等奖
for k, v in rewardDict.items():
# 这里的v是元组
if v[0] <= num < v[1]:
return k
# print rewardFun()
resultDict = {}
for i in range(1000):
# res:本次转盘的等级(一/二/三等奖)
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
########编写一个名为collatz()的函数,它有一个名为number的参数
如果参数是偶数,那么collatz()就打印出number//2
如果number是奇数,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)