Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- '''
- Created on 13 Aug 2018
- @author: Ville
- '''
- import random
- def random_ja_vastaus(lista,nimi):
- siemen = int(input("Anna siemenluku oikean vastauksen valitsemista varten.\n"))
- random.seed(siemen)
- numero = random.randint(0, len(lista) - 1)
- vastaus=lista[numero]
- return(vastaus)
- def folder():
- nimi = input("Mista tiedostosta oikea vastaus valitaan?\n")
- lista = []
- tyhja = 0
- try:
- tiedosto = open(nimi,"r")
- for rivi in tiedosto:
- rivi = rivi.rstrip()
- if len(rivi) == 0:
- tyhja = tyhja+1
- if tyhja == 4:
- print("Tiedostossa ei ollut yhtaan vastausvaihtoehtoa.")
- return 0,0
- else:
- lista.append(rivi)
- except OSError:
- print("Virhe tiedoston",nimi,"lukemisessa. Ohjelma paattyy.")
- return 0,0
- return lista,nimi
- def peli(vastaus):
- pituus = len(vastaus)
- kerrat = 5
- mjono = ["-"] * len(vastaus)
- print("Aloitetaan peli!")
- print("".join(mjono))
- while kerrat > 0:
- print("Arvauksia jaljella:",kerrat)
- arvaus = str(input("Arvaa: "))
- if arvaus == vastaus:
- print("Voitit pelin! Oikea vastaus oli:",vastaus)
- kerrat = 0
- elif len(arvaus) == 0:
- print("Arvauksessa taytyy olla vahintaan yksi merkki!")
- print("".join(mjono))
- elif len(arvaus) > 1:
- kerrat -= 1
- print("Arvauksesi oli vaarin!")
- print("".join(mjono))
- else:
- if arvaus in vastaus:
- print("Arvaamasi merkki on osa vastausta!")
- for i in range(len(vastaus)):
- if vastaus[i] == arvaus:
- mjono[i] = arvaus
- if not "-" in mjono:
- print("Voitit pelin! Oikea vastaus oli:",vastaus)
- kerrat = 0
- else:
- print("".join(mjono))
- else:
- print("Arvauksesi oli vaarin!")
- if kerrat == 1:
- print("Havisit. Oikea vastaus oli:",vastaus)
- return
- print("".join(mjono))
- kerrat -= 1
- def main():
- print("Pelataan hirsipuuta!")
- lista,nimi = folder()
- if lista == 0 and nimi == 0:
- return
- else:
- vastaus = random_ja_vastaus(lista,nimi)
- print("Oikea vastaus on valittu.")
- peli(vastaus)
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement