d120 / d120/pyfeedback

Aufteilung der Veranstaltungen auf die Stehordner

Open
#97 2 comments 0 reactions 0 assignees View on GitHub
enhancement low-priority
Dominant language
Python
Stars
6
Forks
4
PR merge metrics
No merged PRs in 30d

Description

Der folgende Code berechnet die Aufteilung in der Konsole. Es mangelt noch an einer GUI

```python
from feedback.models import Veranstaltung, Semester
from django.db.models import Q, Sum

num_buckets = 9
return_factor = 0.6

s = Semester.objects.filter(semester=20160)
vl = Veranstaltung.objects.filter(semester=s,anzahl__gt=0)
# alles auser reine vorlesung
#vl = vl.filter(~Q(typ='v'))
# alle vorlesung
vl = vl.filter(Q(typ='v') | Q(typ='vu'))
vl = vl.order_by('name')

num_sheets = 0

# ist Aggregate besser?
for v in vl:
num_sheets += v.anzahl

expected_return = num_sheets * return_factor

average_num_per_bucket = expected_return / num_buckets

print('expected Sheets per bucket: %d' % (average_num_per_bucket))

in_c_bucket = 0

bucket = 1

print ('\n Bucket No: %d\n' % (bucket) )
for v in vl:
if ((in_c_bucket + ((v.anzahl * return_factor) / 2)) > average_num_per_bucket):
print ('Anzahl in Bucket: %d' %(in_c_bucket))
bucket+=1
in_c_bucket = 0
print ('\n Bucket No: %d\n' % (bucket))
in_c_bucket += v.anzahl * return_factor
print ('%s erwartete Anzahl: %d' % (v, v.anzahl * return_factor))

print ('Anzahl in Bucket: %d' %(in_c_bucket))
```

Gitlab: 22

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.