返回

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

发布时间:2022-11-16 08:55:39 189

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

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

#方式一:通过【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)

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

 

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
Python正则表达式入门 2022-11-16 08:13:30