Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Alexander Merila 38567, Ebba Malm 40058, Robert Puhakka37671
- #importerar saker vi kommer behöva
- import string
- import random
- import loggning #logging filen
- from datetime import datetime
- #positiva fraser eliza svarar
- positiva = ["Berätta mer",
- "Jag förstår...",
- "Ahaa...",
- "Jag lyssnar...", "Intressant...",\
- "Precis..."]
- #negativa fraser eliza svarar
- negativa = ["Varför är du på så dåligt humör?",\
- "Inte det?", "Är du helt säker?", \
- "Är det sant?", "Varför inte?"]
- #familjerelaterade fraser for eliza
- familj = ["Gör ditt syskon samma sak?",\
- "Om mina släktingar gjorde samma skulle jag reagera lika", \
- "Är allt okej inom familjen?", \
- "Jag har varit med om liknande när jag var yngre"]
- #allt som printas forutom introduktionen loggas i eliza.log
- #mainloopen
- def main():
- #loggar en tom rad fore och efter tiden for att ha lattare att lasa eliza.log
- space = ""
- loggning.log(space)
- #tid och loggning av tiden
- tid = datetime.now()
- print tid
- loggning.log(tid)
- loggning.log(space)
- print "**************************************************"
- print
- print " Välkommen till Elizas mottagning "
- print
- print "**************************************************"
- print
- print '(Du kan sluta när som helst genom att svara "Hejs svejs",)'
- print '("tack och god natt", "hejdå" eller "tack och hej")'
- borjan = 'Berätta för mig om dina problem...'
- print borjan
- loggning.log(borjan) #loggar borjan
- #True tills man vill sluta
- while True:
- #raw_input anvandaren matar in
- text = raw_input("\n> ")
- loggning.log(text)
- #alla tecken i raw_input andras till sma bokstaver
- text = string.lower(text)
- #specialtecken bort
- text = text.translate(None, "!#¤%&/()=?@£$€{[]}\,.-_*")
- #satser som avslutar whle loopen
- if "hejs svejs" in text or "tack och god natt" in text \
- or "hejdå" in text or "tack och hej" in text:
- break
- svar(text)
- slutet = 'Tack för besöket. Betala in 150 EUR på mitt konto.'
- print slutet
- loggning.log(slutet)
- def svar(problem):
- urspr_ord = string.split(problem)
- nya_ord = urspr_ord[ : ]
- #byter fran forsta till andra person och vice versa
- for i in range(len(urspr_ord)):
- if urspr_ord[i] == "jag":
- nya_ord[i] = "du"
- elif urspr_ord[i] == "min":
- nya_ord[i] = "din"
- elif urspr_ord[i] == "mitt":
- nya_ord[i] = "ditt"
- elif urspr_ord[i] == "mig":
- nya_ord[i] = "dig"
- elif urspr_ord[i] == "mej":
- nya_ord[i] = "dej"
- elif urspr_ord[i] == "mina":
- nya_ord[i] = "dina"
- elif urspr_ord[i] == "du":
- nya_ord[i] = "jag"
- elif urspr_ord[i] == "din":
- nya_ord[i] = "min"
- elif urspr_ord[i] == "ditt":
- nya_ord[i] = "mitt"
- elif urspr_ord[i] == "dig":
- nya_ord[i] = "mig"
- elif urspr_ord[i] == "dej":
- nya_ord[i] = "mej"
- elif urspr_ord[i] == "dina":
- nya_ord[i] = "mina"
- #fraser eliza kanner igen for att anvanda familj svaren
- if "mamma" in urspr_ord or "bror" in urspr_ord \
- or "pappa" in urspr_ord or "syster" in urspr_ord:
- svaret = random.choice(familj)
- print svaret
- loggning.log(svaret)
- elif "nej" in urspr_ord or "aldrig" in urspr_ord:
- svaret = random.choice(negativa)
- print svaret
- loggning.log(svaret)
- elif nya_ord == urspr_ord:
- svaret = random.choice(positiva)
- print svaret
- loggning.log(svaret)
- else:
- svaret = string.join(nya_ord) + "?"
- print svaret
- loggning.log(svaret)
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement