Advertisement
Guest User

Untitled

a guest
Feb 20th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.94 KB | None | 0 0
  1. #Alexander Merila 38567, Ebba Malm 40058, Robert Puhakka37671
  2.  
  3. #importerar saker vi kommer behöva
  4. import string
  5. import random
  6. import loggning #logging filen
  7. from datetime import datetime
  8.  
  9. #positiva fraser eliza svarar
  10. positiva = ["Berätta mer",
  11.             "Jag förstår...",
  12.             "Ahaa...",
  13.             "Jag lyssnar...", "Intressant...",\
  14.             "Precis..."]
  15.  
  16. #negativa fraser eliza svarar
  17. negativa = ["Varför är du på så dåligt humör?",\
  18.             "Inte det?", "Är du helt säker?", \
  19.             "Är det sant?", "Varför inte?"]
  20.  
  21. #familjerelaterade fraser for eliza
  22. familj = ["Gör ditt syskon samma sak?",\
  23.           "Om mina släktingar gjorde samma skulle jag reagera lika", \
  24.           "Är allt okej inom familjen?", \
  25.           "Jag har varit med om liknande när jag var yngre"]
  26.  
  27. #allt som printas forutom introduktionen loggas i eliza.log
  28. #mainloopen
  29. def main():
  30.     #loggar en tom rad fore och efter tiden for att ha lattare att lasa eliza.log
  31.     space = ""
  32.     loggning.log(space)
  33.     #tid och loggning av tiden
  34.     tid = datetime.now()
  35.     print tid
  36.     loggning.log(tid)
  37.     loggning.log(space)
  38.     print "**************************************************"
  39.     print
  40.     print "    Välkommen till Elizas mottagning              "
  41.     print
  42.     print "**************************************************"
  43.     print
  44.     print '(Du kan sluta när som helst genom att svara "Hejs svejs",)'
  45.     print '("tack och god natt", "hejdå" eller "tack och hej")'
  46.     borjan = 'Berätta för mig om dina problem...'
  47.     print borjan
  48.     loggning.log(borjan) #loggar borjan
  49.      
  50.     #True tills man vill sluta
  51.     while True:
  52.  
  53.         #raw_input anvandaren matar in
  54.         text = raw_input("\n> ")
  55.         loggning.log(text)
  56.         #alla tecken i raw_input andras till sma bokstaver
  57.         text = string.lower(text)
  58.         #specialtecken bort
  59.         text = text.translate(None, "!#¤%&/()=?@£$€{[]}\,.-_*")
  60.  
  61.         #satser som avslutar whle loopen
  62.         if "hejs svejs" in text or "tack och god natt" in text \
  63.            or "hejdå" in text or "tack och hej" in text:
  64.             break
  65.  
  66.         svar(text)
  67.  
  68.     slutet = 'Tack för besöket. Betala in 150 EUR på mitt konto.'
  69.     print slutet
  70.     loggning.log(slutet)
  71.  
  72. def svar(problem):
  73.  
  74.    
  75.     urspr_ord = string.split(problem)
  76.     nya_ord = urspr_ord[ : ]
  77.  
  78.     #byter fran forsta till andra person och vice versa
  79.     for i in range(len(urspr_ord)):
  80.         if urspr_ord[i] == "jag":
  81.             nya_ord[i] = "du"
  82.         elif urspr_ord[i] == "min":
  83.             nya_ord[i] = "din"
  84.         elif urspr_ord[i] == "mitt":
  85.             nya_ord[i] = "ditt"
  86.         elif urspr_ord[i] == "mig":
  87.             nya_ord[i] = "dig"
  88.         elif urspr_ord[i] == "mej":
  89.             nya_ord[i] = "dej"
  90.         elif urspr_ord[i] == "mina":
  91.             nya_ord[i] = "dina"    
  92.         elif urspr_ord[i] == "du":
  93.             nya_ord[i] = "jag"
  94.         elif urspr_ord[i] == "din":
  95.             nya_ord[i] = "min"
  96.         elif urspr_ord[i] == "ditt":
  97.             nya_ord[i] = "mitt"
  98.         elif urspr_ord[i] == "dig":
  99.             nya_ord[i] = "mig"
  100.         elif urspr_ord[i] == "dej":
  101.             nya_ord[i] = "mej"
  102.         elif urspr_ord[i] == "dina":
  103.             nya_ord[i] = "mina"
  104.  
  105.     #fraser eliza kanner igen for att anvanda familj svaren      
  106.     if "mamma" in urspr_ord or "bror" in urspr_ord \
  107.         or "pappa" in urspr_ord or "syster" in urspr_ord:
  108.         svaret = random.choice(familj)
  109.         print svaret
  110.         loggning.log(svaret)
  111.     elif "nej" in urspr_ord or "aldrig" in urspr_ord:
  112.         svaret = random.choice(negativa)
  113.         print svaret
  114.         loggning.log(svaret)
  115.     elif nya_ord == urspr_ord:
  116.         svaret = random.choice(positiva)
  117.         print svaret
  118.         loggning.log(svaret)
  119.     else:
  120.         svaret = string.join(nya_ord) + "?"
  121.         print svaret
  122.         loggning.log(svaret)
  123.  
  124.  
  125. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement