Soal Informatika
kuis_flask/
├── app.py
├── templates/
│ └── index.html
└── static/
└── style.css (opsional untuk tampilan)
from flask import Flask, render_template, request
app = Flask(__name__)
# Kunci jawaban untuk penilaian otomatis
kunci_pg = {
'soal1': 'b',
'soal2': 'c'
}
kunci_isian = {
'soal3': 'print',
'soal4': '=='
}
@app.route('/', methods=['GET', 'POST'])
def index():
skor = None
jawaban_uraian = {}
if request.method == 'POST':
skor = 0
total = len(kunci_pg) + len(kunci_isian)
# Periksa pilihan ganda
for k, v in kunci_pg.items():
if request.form.get(k) == v:
skor += 1
# Periksa isian singkat
for k, v in kunci_isian.items():
if request.form.get(k, '').strip().lower() == v:
skor += 1
# Simpan jawaban uraian
jawaban_uraian['soal5'] = request.form.get('soal5', '')
jawaban_uraian['soal6'] = request.form.get('soal6', '')
return render_template('index.html', skor=skor, total=total, jawaban_uraian=jawaban_uraian)
return render_template('index.html')
if __name__ == '__main__':
app.run(debug=True)
Kuis TIK - Pemrograman
Kuis TIK: Pemrograman Python
{% if skor is not none %}Skor Anda: {{ skor }} dari {{ total }}
Jawaban Uraian:
Soal 5: {{ jawaban_uraian['soal5'] or "Belum dijawab" }}
Soal 6: {{ jawaban_uraian['soal6'] or "Belum dijawab" }}
{% endif %} python app.py
Komentar
Posting Komentar