Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import string
- import random
- import logging
- import time
- import re
- logging.basicConfig(filename='eliza.log',level=logging.DEBUG,
- format = '%(asctime)s.%(msecs)d %(levelname)s %(module)s - %(funcName)s: %(message)s',
- datefmt="%Y-%m-%d %H:%M:%S")
- #tid = 'month:',time.localtime().tm_mon
- #id1 = 'day:',time.localtime().tm_mday
- #tid2 = 'hour:',time.localtime().tm_hour
- #tid3 = 'min:',time.localtime().tm_min
- #tiden =[tid ,tid1 , tid2 , tid3]
- #logging.info(tiden)
- positiva = ["Berätta mer",
- "Jag förstår...",
- "Ahaa...",
- "Jag lyssnar...",
- 'Intressant', 'wow']
- negativa = ['Varför är du på så dåligt humör?', 'Varför då då?',
- 'Är det så?', 'jahaa...', 'Varför inte?']
- familj = ['Är det alltid så?','Är ditt syskon likadan?','Har du berättat det för någon?'
- ]
- def main():
- print "**************************************************"
- print
- print " Välkommen till Elizas mottagning "
- print
- print "**************************************************"
- print
- print '(Du kan sluta när som helst genom att svara "Hejs svejs""hejdå"\n eller något liknande)'
- print
- print 'Berätta för mig om dina problem...'
- while True:
- text = raw_input ('\n')
- text = string.lower(text)
- logging.info(text)
- if text == 'hejs svejs':
- break
- elif text =='hejd\xe5':
- break
- elif text =='sluta!':
- break
- elif text =='strett \xe5t fitton':
- break
- elif text =='f\xf6rsvinn':
- break
- elif text =='tack och godnatt':
- break
- elif text =='ok, that does it!':
- break
- svara(text)
- def svara(text):
- original=text
- for pronomen in [["jag","du"],["min","din"],["mitt","ditt"]]:
- if original == pronomen[0]:
- print pronomen[1]
- for c in [' ','\.',',','!','\?']:
- patt=re.compile(pronomen[0]+c)
- pat2=re.compile(" "+pronomen[0])
- text=patt.sub(pronomen[1]+c[-1],text)
- text=pat2.sub(" "+pronomen[1],text)
- urspr_ord = string.split(text)
- nya_ord = urspr_ord[ : ]
- if 'nej' in urspr_ord or 'aldrig' in urspr_ord:
- svar = random.choice(negativa)
- logging.info(svar)
- elif 'mamma' in urspr_ord or 'pappa' in urspr_ord:
- svar = random.choice(familj)
- logging.info(svar)
- elif nya_ord == urspr_ord:
- svar = random.choice(positiva)
- logging.info(svar)
- else:
- svar = string.join(nya_ord)
- logging.info(svar)
- if original is not text:
- print text
- else:
- print svar
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement