首页 > 其他分享 >如何让自己的代码更加的简单和直白好看

如何让自己的代码更加的简单和直白好看

时间:2022-11-13 17:35:17浏览次数:44  
标签:直白 代码 random list sample winner user print 好看


如何让自己的代码更加的简单和直白好看

常规思路打印九九乘法表:

#方式一:通过【for..in..】方法实现
for i in range(1,10):
for j in range(1,i+1):
print("%d*%d=%2d"%(j,i,j*i),end=' ')
print("")
#方式二:通过【while】方法实现
i=1
while i<10:
j=1
while j<=i:
print("%d*%d=%2d"%(j,i,j*i),end=' ')
j+=1
print("")
i+=1

通过列表推导式优化后面,一行代码写出:

print("\n".join([" ".join(["{}*{}".format(i,j) for j in range(1,i+1) for i in rang(1,10)]))

实现一个年后抽奖系统,一个公司有300个员工,要求在年后时候通过抽奖的方式,抽除2个一等奖,5个二等奖,8个三等奖。

实现方法如下:

方法一:

#第一步定义一个列表,里面储存300个员工
user_list=[]
for i in range(1,301):
user="员工{}.format(i)"
user_list.append(user)
#第二步,抽奖
#random.sample随机抽取样本,去user_list中随机抽取5个,并把5个放到一一个列表中返回
#third_list=[用户1,用户1,用户,用户1]
third_list=random.sample(user_list,8)#随机抽取8个
print("三等奖:",third_list)
for item in third_list:
user_list.remove(item)

second_list=random.sample(user_list,5)#随机抽取5个
print("二等奖:",second_list)
for item in second_list:
user_list.remove(item)

first_list=random.sample(user_list,2)#随机抽取2个
print("一等奖:",first_list)
for item in first_list:
user_list.remove(item)

方法二:

import random
#第一步定义一个列表,里面储存300个员工
user_list=[]
for i in range(1,301):
user="员工{}.format(i)"
user_list.append(user)
#第二步,抽奖
bonus_list=[["三等奖",8],["二等奖",5],["一等奖",2]]
for text,count in bonus_list:
#["三等奖",8]
winner_list=random.sample(user_list,count)#去user_list中随机抽取8个
print(text,winner_list)
for user in winner_list:
user_list.remove(user)

方法三:

import random
#第一步定义一个列表,里面储存300个员工
user_list=["员工{}".format(i) for i in range(1,301)]
#第二步,抽奖
bonus_list=[["三等奖",8],["二等奖",5],["一等奖",2]]
for text,count in bonus_list:
#["三等奖",8]
winner_list=random.sample(user_list,count)#去user_list中随机抽取8个
print(text,winner_list)
for user in winner_list:
user_list.remove(user)

上面简单介绍如何优化代码,我们在写代码的时候可以去思考那个一段可以优化,优化后可以更加的好看。


标签:直白,代码,random,list,sample,winner,user,print,好看
From: https://blog.51cto.com/u_15870497/5847866

相关文章