Warning: fopen(/www/wwwroot/www.wendadaohang.com/data/md5_content_title/75/75f5c9f3350f94c53097bff0a4cca238.txt): failed to open stream: No space left on device in /www/wwwroot/www.wendadaohang.com/inc/function.php on line 2468

Warning: flock() expects parameter 1 to be resource, bool given in /www/wwwroot/www.wendadaohang.com/inc/function.php on line 2469

Warning: fclose() expects parameter 1 to be resource, bool given in /www/wwwroot/www.wendadaohang.com/inc/function.php on line 2475
这个python 编程练习题,怎么做?头疼 - 88问答网

这个python 编程练习题,怎么做?头疼

如题所述

社交网络中我们给每个人定义了一个“活跃度”,现希望根据这个指标把人群分为两大类,即外向型(outgoing,即活跃度高的)和内向型(introverted,即活跃度低的)。要求两类人群的规模尽可能接近,而他们的总活跃度差距尽可能拉开。

输入格式:
输入第一行给出一个正整数N(2 <= N <= 105)。随后一行给出N个正整数,分别是每个人的活跃度,其间以空格分隔。题目保证这些数字以及它们的和都不会超过231。

输出格式:
按下列格式输出:

Outgoing #: N1
Introverted #: N2
Diff = N3
其中 N1 是外向型人的个数;N2 是内向型人的个数;N3 是两群人总活跃度之差的绝对值。

输入样例1:
10
23 8 10 99 46 2333 46 1 666 555
输出样例1:
Outgoing #: 5
Introverted #: 5
Diff = 3611

输入样例2:
13
110 79 218 69 3721 100 29 135 2 6 13 5188 85
输出样例2:
Outgoing #: 7
Introverted #: 6
Diff = 9359```
我的代码:
n = int(input('数据个数'))
a = []
for i in range(n):
a.append(int(input('请输入第 %d 个数据'% (i+1))))

注意a/n的数据类型,一定要转换,否则出错

a不可以直接list(input('')),否则出来的是一个带引号和逗号的list

我觉得可以用切片,但是也挺麻烦的,想知道有没有简单一点的方法

a.sort()
sum1 = 0
sum2 = 0
sum3 = 0

上面的sum1,sum2,sum3都要定义,因为第一次出现的式子右边存在

if n % 2 == 0: #取余数两种方法1. x%y 2. divmod(x,y)
x = n/2
for i in range(int(x)): #注意x要int, range的参数只能是int类型,否则出错
sum1 = sum1 + a[i]
for i in range(
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-24
def func(day):
sumd=day//7
lev=1
while sumd>=0:
sumd=sumd-1
for i in range(4):
lev=lev+lev*0.01
n=day%7
if n<=3:
return lev
if n>3:
sumd=n-3
while sumd>0:
sumd=sumd-1
lev=lev+0.01
return lev
a=func(365)
print(a)
虽然方法笨了点,这样应该计算连续365没问题,最终好像是8.几
第2个回答  2019-03-23
这样的什么什么编程啊,怎么学习体验,你要进行一个专门的机构或者学校去学。
第3个回答  2019-03-23
你可以去codewar学习Python的知识。
第4个回答  2019-03-23
百度贴吧上有
相似回答