@random getallen meegeven evaluation map #2808
Replies: 3 comments
-
Dag Tim. Het is mij niet helemaal duidelijk welke invoer de studenten krijgen (ik vermoed de inzet?) en welke uitvoer er precies uitgeschreven moet worden. Als ik het lees zou ik verwachten dat er 3 verschillende uitvoeren kunnen zijn: |
Beta Was this translation helpful? Give feedback.
-
Dag Charlotte
Merci voor de snelle reactie.
De invoer is inderdaad de inzet. Uitvoer klopt ook.
De uitvoer is afhankelijk van de 3 willekeurige getallen die
telkens @random worden gegenereerd door interpreter. Moet je dan elke
mogelijke gegenereerd getal, en combinatie, meegeven in 0.out?
zie files in bijlage.
alvast bedankt
mvg
Tim
On Fri, Jun 4, 2021 at 8:04 PM Charlotte Van Petegem < ***@***.***> wrote:
Dag Tim. Het is mij niet helemaal duidelijk welke invoer de studenten
krijgen (ik vermoed de inzet?) en welke uitvoer er precies uitgeschreven
moet worden. Als ik het lees zou ik verwachten dat er 3 verschillende
uitvoeren kunnen zijn: 3 * inzet, 2 * inzet en 0, maar jij spreekt over
het genereren van 5 getallen.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#2808 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABH6N6B4V2JY27BGF3NTQ7LTREIUJANCNFSM46DHITKA>
.
import random
inzet = int(input("Geef jouw inzet\n"))
getal1computer1 = random.randint(1,5)
getal1computer2 = random.randint(1,5)
getal1computer3 = random.randint(1,5)
'''
print(getal1computer1)
print(getal1computer2)
print(getal1computer3)
'''
print("De 3 willekeurige getallen zijn {} | {} | {}" .format(getal1computer1,getal1computer2,getal1computer3))
if getal1computer1 == getal1computer2 and getal1computer2 == getal1computer3:
score = 3 * inzet
print("Proficiat, je verdient 3 * jouw inzet namelijk {} euro." .format(score))
elif getal1computer1 == getal1computer2 or getal1computer2 == getal1computer3 or getal1computer1 == getal1computer3:
score = 2 * inzet
print("Proficiat, je verdient 2 x jouw inzet: {} euro." .format(score))
else:
score = -inzet
print("Helaas je verliest jouw inzet {} euro." .format(score))
|
Beta Was this translation helpful? Give feedback.
-
Je zal hiervoor waarschijnlijk de mogelijkheid van de Output judge moeten gebruiken om custom evaluatie te doen: https://docs.dodona.be/nl/references/python-judge/#parameters-om-de-manier-van-vergelijken-te-veranderen import re
def customEvaluate(_expected, generated):
getallen_lijn, resultaat_lijn = generated.split('\n')
if (match := re.match("^De 3 willekeurige getallen zijn (\d+) \| (\d+) \| (\d+)$", getallen_lijn)) is None:
return False
if not (1 <= int(match[1] <= 5) and 1 <= int(match[2]) <= 5 and 1 <= int(match[3]) <= 5):
return False
... # iets gelijkaardig voor de resultaat_lijn
return True |
Beta Was this translation helpful? Give feedback.
-
Beste
Ik heb volgende oefening gemaakt in python (Jackpot):
Computer genereert random 3 getallen tussen 1 en 5. Op basis van inzet gebruiker kan je 3 x de inzet verdienen, bij 3 gelijke getallen, 2 x inzet bij 2 gelijke getallen, en verlies van inzet bij 3 verschillende getallen.
Hoe geef je mee in jouw evaluation map (0.out) dat er 5 verschillende getallen kunnen gegenereerd worden?
Beta Was this translation helpful? Give feedback.
All reactions