您的位置:首页 > 编程语言 > Python开发

【Python】 网易笔试编程题(集合)

2017-03-25 22:13 316 查看

题目描述

       做了网易实习招聘的笔试(编程部分)题,题目大意如下:
       一个集合,这里不妨设为G = { p/q | w <= p <= x,y<= q <=z },另外题目还给了一个条件,貌似是w,x,y,x均在[1,100]上,当然w<=x, y<=z,而且p、qj均是整数;
问题:现要求我们输入w,x,y,z的值,且以空格隔开,求出集合中的元素个数并输出(当然,我们知道集合有1.确定性2.互斥性3.无序性)。

思路及Python实现

       
首先,题目很容易理解(but当时我把p/q理解成立p或者q,然后后来报错才知道应该是p除以q,啊哈哈哈哈~~)。
OK,下面是我的思路,比较简单易懂易想(大家肯定有更好的哈~):
简单粗暴,直接计算p/q,将之添加进一个空列表,判断一下如果计算结果在列表中已经存在,则不用添加进去。但是这里要提醒一点的是,如果直接计算p/q,得出的值是整数值,所以我们要改变下。当时想着用decimal里的Decimal去做,但是笔试并不能加载decimal包,后来想起了用round。下面编程实现就OK了。
inn = raw_input().split()
w = int(inn[0])
x = int(inn[1])
y = int(inn[2])
z = int(inn[3])

result_li = []

for p in range(w, x+1):
for q in range(y, z+1):
if round(p) / round(q) not in result_li:
result_li.append(round(p) / round(q))

print len(result_li)

后续的一些笔试编程题也会慢慢写出来啊,请看这里哟:网易笔试编程题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 编程 网易