Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kod za Quiz u Pythonu

[es] :: Python :: Kod za Quiz u Pythonu

[ Pregleda: 4487 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

BaMak

Član broj: 314154
Poruke: 11
*.ias.bredband.telia.com.



Profil

icon Kod za Quiz u Pythonu04.10.2013. u 13:22 - pre 128 meseci
Pozdrav svima, pocetnik sam ne samo u Pythonu nego i u samom programiranju em uz sve to i ovo malo programiranja sto ucim, ucim jer sam primoran. :) Nego da predjem na stvar, ono sto pokusavam jeste da kreiran jednostavan "Cisco Quiz" koji ce da se pokrece u Linux terminalu, eventualno Windows, kod treba da sadrzi:

Pitanja, Odgovore koji ce random da se pozivaju (extra sto sam dodao jeste mal jednostavan meny), nakon svakog odgovora igraca treba upitati da li zeli da nastavi dalje ili da prekine igru, pri prekidu igre treba ispisati ukupan rezultat odnosno, odnos tacnih - netacnih u procentima.Jedan deo koda funkcionise, ali opet dobra polovina ne, tako da nazalost potrebna je pomoc hitno. :)



KOD UKLONJEN



[Ovu poruku je menjao BaMak dana 04.10.2013. u 23:35 GMT+1]
 
Odgovor na temu

BaMak

Član broj: 314154
Poruke: 11
*.ias.bredband.telia.com.



Profil

icon Re: Kod za Quiz u Pythonu04.10.2013. u 22:34 - pre 128 meseci
Uspesno sam jos doradio kod u odnosu na prvi, mada javlja se sledeci problem, kada izaberem da prekinem igru samo mi izbaci procenat tacan, ali ne prekida "random shuffle loop", em sto isto tako ne racuna najbolje pojedine odgovre, trebao bi jos nekao da dodam koja ocena je na kraju dobijena, F bi bilo manje od 70.5% tacnih, E bi bio minimalno 70.5%, zatim D bi bilo 76.5% tacnih, C 82.5% tacnih, B 88.5% tacnih i A 93.5% tacnih. Pitanja su trenutno provizorna samo, cisto za vreme testiranja programa, nemaju naravno nista sa Ciscom da rade. :D

Svi saveti vise nego dobrodosli, nadam se da ce neko imati trenutak vremena da odvoji da uspesno dovrsim kod. :)


Code:

#encoding: utf8

from random import shuffle

print ()
print ("==============")
print ("| CISCO QUIZ |")
print ("==============\n")


print("[1] Starta Quiz")
print("[2] Avsluta")
print()

menu = int(input(" "))

if menu == 1:
    aqpool = [
        ("Hur många hästkrafter har en Seat Leon FR?", '200'),
        ("Hur många hästkrafter har en Volvo 850R - MAN?", '250'),
        ("Hur många hästkrafter har en T-Gul - inkl overboost?",  '240'),
        ("Hur många hästar har en Bugatti Veyron?", '1001')
        ]

    while aqpool[0]:
        shuffle (aqpool)
        numRight = 0



        for question, rightAnswer in aqpool:
            answer = input(question + " ")

            playAgain = "ja"
            playStop = "nej"

            if answer == rightAnswer:
                print ("RÄTT SVAR!")
                
                numRight = numRight + 1
                

                if playAgain == "ja" or playAgain == "j":
                
                    print("Vill du försätta spela? (ja eller nej)")
                    playAgain = str(input())
                    continue

                if playStop == "nej" or playStop == "n":
                    total = numRight / len(aqpool) * 100
                    print ("Du hade ",total, "% rätt!")
                    playStop = str(input())
                    break                                
            
            else:

                
                print("FEL SVAR! Rätta svaret är: " + rightAnswer + "\n")
                    
                if playAgain == "ja" or playAgain == "j":
                    print ("Vill du försätta spela? (ja eller nej)")
                    playAgain = str(input())

                if playStop == "nej" or playStop == "n":
                    total = numRight / len(aqpool) * 100
                    print ("Du hade ", total, "% rätt!")
                    playStop = str(input())
                    break

if menu == 2:
    print ("\n=== HEJ DÅ ===\n")
 
Odgovor na temu

BaMak

Član broj: 314154
Poruke: 11
*.ias.bredband.telia.com.



Profil

icon Re: Kod za Quiz u Pythonu05.10.2013. u 16:20 - pre 128 meseci
Doradio sam kod sada prekid koda i sve ostalo sljaka fino, ali pojavio se drugi problem, ukupan rezultat nije kako treba, ispisuje se rezultat u procentima, ali pri prekidu igre ukoliko igrac nije odgovorio na sva pitanja koja su unesena u "listu" sva preostala pitanja automatski se racunaju kao netacno odgovrena, znaci da kazemo da u "listi" imam 4 pitanja, igrac se odluci i prekine igru nakon samo dva pitanja, odgovorio je tacno na oba i rezultat bi trebao biti 100%, ali ne u ovom slucaju rezultat je svega 50% jer program kao sto rekoh automatski propustena pitanja racuna kao fail i igrac dobija score od svega 50%? Da li neko ima resenje za to??


Code:

#encoding: utf8

from random import shuffle

print ()
print ("==============")
print ("| CISCO QUIZ |")
print ("==============\n")


print("[1] Starta Quiz")
print("[2] Avsluta")
print()

menu = int(input(" "))

if menu == 1:
        
    aqpool = [
            ("Hur många hästkrafter har en Seat Leon FR?", '200'),
            ("Hur många hästkrafter har en Volvo 850R - MAN?", '250'),
            ("Hur många hästkrafter har en T-Gul - inkl overboost?",  '240'),
            ("Hur många hästar har en Bugatti Veyron?", '1001')
            ]


    playAgain = True
    numRight = 0
    
    while aqpool[0] and playAgain:
        shuffle (aqpool)
        
        

        for question, rightAnswer in aqpool:
            answer = input(question + " ")
            

            if answer == rightAnswer:
                print ("RÄTT SVAR!")
                numRight = numRight + 1            
                
                                                        

            else:
                print("FEL SVAR! Rätta svaret är: " + rightAnswer + "\n")


            print("Vill du försätta spela? (ja eller nej)")
            playAgain = str(input()) not in ('n', 'nej')
            if not playAgain:
                break
            

        total = numRight / len(aqpool) * 100
        print ("Du hade %s%% rätt!" % total)
                
if menu == 2:
    print ("\n=== HEJ DÅ ===\n")

 
Odgovor na temu

zema
hamburg

Član broj: 20112
Poruke: 71
*.cpe.vektor.net.



+6 Profil

icon Re: Kod za Quiz u Pythonu06.10.2013. u 03:03 - pre 128 meseci
moze ovako?

Code:

# -*- coding: cp1252 -*-

import random

pitanja = [
            "Hur många hästkrafter har en Seat Leon FR?",
            "Hur många hästkrafter har en Volvo 850R - MAN?",
            "Hur många hästkrafter har en T-Gul - inkl overboost?",
            "Hur många hästar har en Bugatti Veyron?"
            ]
odgovori = ['200','250','240','1001']
    
score = 0
brojPostavljenihPitanja = 0
playAgain = True

print ()
print ("==============")
print ("| CISCO QUIZ |")
print ("==============\n")

print("[1] Starta Quiz")
print("[2] Avsluta")
print()

int(input(" "))

while playAgain == True:
    brojPostavljenihPitanja += 1
    n = random.randint(0,3)
    odgovor = raw_input(pitanja[n]+" ")
    if odgovor == odgovori[n]:
        score += 1
    var = raw_input("Da li zelite jos da igrate? ('da','ne') ")
    if var == 'ne':
        playAgain = False
        print "Ogdovorili ste tacno na %s od %s postavljenih pitanja" % (score,brojPostavljenihPitanja)
    

 
Odgovor na temu

BaMak

Član broj: 314154
Poruke: 11
*.ias.bredband.telia.com.



Profil

icon Re: Kod za Quiz u Pythonu06.10.2013. u 12:13 - pre 128 meseci
Hvala na odgovoru, mada resio sam kod juce uspesno, nesto drugaciji nacin od tvog postavljenog koda, ali funkcionise. Hvala inace za sjajan primer, kod koji si prestavio znatno je kraci sto je svakako sjajno. proucicu malo detalje dobro ce doci za ubuduce.. :)

Code:

#encoding: utf8


from random import shuffle

print ()
print ("==============")
print ("| CISCO QUIZ |")
print ("==============\n")


print("[1] Starta Quiz")
print("[2] Avsluta")
print()

menu = int(input(" "))

if menu == 1:

    aqpool = [("What contains the instructions that a router uses to control 
    the flow of traffic through its interfaces?", 'configuration files'),
        ("Which router component holds the configuration file when power is lost? ", 'non-violate random access memory'),
            ("What do routers use to select the best path for outgoing data packets?",  'routing tables'),
        ("What can cause a reduction in available bandwidth on a cable broadband connection?", 'number of subscribers'),
        ("What type of connectivity is established when VPNs are used from the remote site to the private network?", 'tunnels'),
         ("Which WAN technology uses a fixed payload of 48 bytes and is transported across both switched and permanent virtual circuits?", 'ATM'),
        ("Which term describes a device that will put data on the local loop?", 'DCE'),
        ("Which networking device is typically used to concentrate the dial-in and dial-out traffic of multiple users to and from a network?", 'access server'),
        ("What application layer protocol is commonly used to support for file transfers between a client and a server?", 'HTTP'),
        ("What is the automated service that matches resource names with the required IP address?", 'DNS'),
        ("As compared to SSH, what is the primary disadvantage of telnet?", 'does not support encryption'),
        ("With TCP/IP data encapsulation, which range of port numbers identifies all well-known applications?", '0-1023'),
        (" Which OSI model layer is responsible for regulating the flow of information from source to destination, reliably and accurately?", 'transport'),
        ("What is dynamically selected by the source host when forwarding data?", 'source port')
        ]

    playAgain = True
    numRight = 0
    guess = 0

    while aqpool[0] and playAgain:
        shuffle (aqpool)
        

        for question, rightAnswer in aqpool:
            answer = input(question + " ")

            guess = guess + 1

            if answer == rightAnswer:
                print ("RÄTT SVAR!")
                numRight = numRight + 1            

            else:
                print("FEL SVAR! Rätta svaret är: " + rightAnswer + "\n")

            print("Vill du försätta spela? (ja eller nej)")
            playAgain = str(input()) not in ('n', 'nej')
            if not playAgain:
                break

        total = (numRight / guess) * 100
        print ("Du hade %s%% rätt!" % float(int(total)))
                

if menu == 2:
    print ("\n=== HEJ DÅ ===\n")

 
Odgovor na temu

[es] :: Python :: Kod za Quiz u Pythonu

[ Pregleda: 4487 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.