Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

103 86 upgrade to new gitcmd version #178

Merged
merged 8 commits into from
Feb 4, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
test
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Copyright 2016 Dominique Revuz <[email protected]>
title=fonction
author=Dominique Revuz
name= Une fonction bob
tag=function
template=../template.pl
text==
# Fonctions

Ecrire une fonction **bob** qui retourne la valeur entière 1238.

>>> bob()
1238
==

code==

# Fin du code, n'écrivez pas de code après cette ligne s'il vous plait !
# L'équipe PL
==

pltest==
>>> bob()
1238
>>> bob()==1238
True
==
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Copyright 2016 Dominique Revuz <[email protected]>
author=Dominique Revuz
name= Boites d'oeufs (Operateurs)
title= Modulo et Diviser
tag= print|input|operator.mod|operator.floordiv
template=../soluce.pl
text==

# Operator // et %

**Joelle** a des poules, tous les matins elle ramasse les oeufs et souhaite les mettre dans des boites.

Quand elle a fini de ramasser les oeufs elle appelle son fils **Emile** en lui donnant le nombre d'oeufs. Il doit calculer le nombre de boites de 6 oeufs et le nombre d'oeufs restants.

Aidons **Emile** avec // qui est la division entière et % (opérateur modulo) qui calcule le reste de la division entière.


==

code==
nbroeufs = int( input("saisissez le nombre d'oeufs :") )

b= # votre opération
r= # votre opération
print("\nPour ",nbroeufs," il faut:")
print( b , "boites,")
print("et il restera ", r , "oeufs.")

# Fin du code, n'écrivez pas de code après cette ligne s'il vous plait !
# L'équipe PL
==

inputgenerator==
from random import randint

print(randint(10,100)*6+randint(1,6))
==

soluce==
nbroeufs = int( input("saisissez le nombre d'oeufs :") )

b= nbroeufs // 6
r= nbroeufs % 6

print("\nPour ",nbroeufs," il faut:")
print( b , "boites,")
print("et il restera ", r , "oeufs.")

==


Empty file.
21 changes: 21 additions & 0 deletions server/serverpl/filebrowser/tests/ressources/100/carre.pl
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Copyright 2016 Dominique Revuz <[email protected]>
author=Dominique Revuz
title=L'éponge Caré
name=L'éponge Carée
tag=function # N'oubliez pas de remplir ce champs svp
template=template.pl
text==
## Une fonction carre ##
Ecrivez une fonction **carre** qui retourne le carré de son paramêtre.
==

pltest==
>>> carre(510)
260100
>>> carre(0)
0
>>> carre(10)
100
>>>
==

20 changes: 20 additions & 0 deletions server/serverpl/filebrowser/tests/ressources/100/editorform.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{% load static %}
<!-- Do not tabulate this div as the tabulation will appear in the editor -->
<div id="editor" style="border: 1px #E7E7E7 solid; border-width: 1px; border-color: #5bc0de; border-radius: 4px; height: 400px; #E7E7E7 solid;">
{% if student_answer__ and student_answer__ != "" %}{{ student_answer__ }}{% else %}{{ code }}{% endif %}</div>
<input id="form_txt_answer" type="hidden" name="form_txt_answer" style="display: none;" value="{% if student_answer__ and student_answer__ != "" %}{{ student_answer__ }}{% else %}{{ code }}{% endif %}">
<br>
<script src="{% static 'ace/ace.js' %}" type="text/javascript" charset="utf-8"></script>
<script src="{% static 'ace/ext-modelist.js' %}"></script>
<script>
var editor = ace.edit('editor');
editor.setTheme("{{ request.user.profile.editor_theme.template }}");
editor.session.setMode("ace/mode/{% if language and language in authorized_lang %}{{language}}{% else %}python{% endif %}");

var input = $('input[name="form_txt_answer"]');
editor.getSession().on("change", function() {
input.val(editor.getSession().getValue());
});
</script>


Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
94 changes: 94 additions & 0 deletions server/serverpl/filebrowser/tests/ressources/100/feedback.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# feedback.py
#
# Copyright 2017 Dominique Revuz <[email protected]>
#



from jinja2 import Template


def subnlbybr(str):
"""
>>> subnlbybr("\\n")
'<br/>'
"""
return "<br/>".join(str.split("\n"))




class Feedback:
"""
Classe de stockage et de production des sorties d'un exercie pl
"""
def __init__(self):
self.compilation = False # No error yet
self.success = True
self.showinput= False
self.executionhistory = []
self.feedbacktext=""
self.div=[]
self.asio=False
with open("template.html", "r") as f:
self.template = Template(f.read())


def addInput(self,newinput):
self.executionhistory.append(("input",subnlbybr(newinput)))

def addOutput(self,newoutput):
self.executionhistory.append(("output",subnlbybr(newoutput)))
def addExpected(self,newoutput):
self.executionhistory.append(("expected",subnlbybr(newoutput)))
def addOptained(self,newoutput):
self.executionhistory.append(("optained",subnlbybr(newoutput)))
def addExpectedOptained(self,newoutput,expected):
self.addExpected(expected)
self.asio =True
self.addOptained(newoutput)
self.success=False
def addCompilationError(self,text):
self.compilationError=subnlbybr(text)
self.compile = True
self.success = False
def addFeedback(self,text):
self.feedbacktext += subnlbybr(text)

def adddiv(self, text, indice):
self.div.append((indice,subnlbybr(text)))

def addsymbole(self, out, i, success):
subnlbybr(out)
if success:
self.adddiv('v'+str(i),out[6:])
else:
self.adddiv('f'+str(i),out[19:])
return 0

def feedback(self):
return self.template.render(feedback=self)



def buttoncollapse(self, success, i, code ):
if success:
return Feedback.boite2(self,"debut\n"+code)
return Feedback.boite2(self,"debut False\n"+code)

def resultat(self, code):
return '<div style ="border:1px solid black;padding:1%;margin:1%;background-color:Black;">'+code+'</div><br>'



def boite2(self,html_code):

return subnlbybr(html_code)





27 changes: 27 additions & 0 deletions server/serverpl/filebrowser/tests/ressources/100/function001.pl
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Copyright 2016 Dominique Revuz <[email protected]>
title=fonction
author=Dominique Revuz
name= Une fonction bob
tag=function
template=../template.pl
text==
# Fonctions

Ecrire une fonction **bob** qui retourne la valeur entière 1238.

>>> bob()
1238
==

code==

# Fin du code, n'écrivez pas de code après cette ligne s'il vous plait !
# L'équipe PL
==

pltest==
>>> bob()
1238
>>> bob()==1238
True
==
Loading