Rock-Scissors-Paper

#rsp.py
while True:
  # get computer's choice
  computer = random.randint(1, 3)
  if computer == 1: computer = 'R'
  elif computer == 2: computer = 'S'
  elif computer == 3: computer = 'P'

  # get human's choice
  print("Rock, Scissors, Paper, Quit:", end=' ')
  human = input()[0].upper()
  if human == 'Q': break

  # show result
  print("computer:%s, human:%s: " % (computer, human), end=' ')
  if computer == 'R' and human == 'R':
    print("It's a tie.")
  elif computer == 'R' and human == 'S':
    print("Computer wins.")
    cWins += 1
  elif computer == 'R' and human == 'P':
    print("Human wins.")
    hWins += 1
  elif computer == 'S' and human == 'R':
    print("Human wins.")
    hWins += 1
  elif computer == 'S' and human == 'S':
    print("It's a tie.")
  elif computer == 'S' and human == 'P':
    print("Computer wins.")
    cWins += 1
  elif computer == 'P' and human == 'R':
    print("Computer wins.")
    cWins += 1
  elif computer == 'P' and human == 'S':
    print("Human wins.")
    hWins += 1
  elif computer == 'P' and human == 'P':
    print("It's a tie.")

print("Computer wins:%d, Human wins:%d!" % (cWins, hWins))
   

Rock-Scissors-Paper With Functions
# rspf.py
import random

def getComputerChoice():
  computer = random.randint(1, 3)
  if computer == 1: return 'R'
  elif computer == 2: return 'S'
  elif computer == 3: return 'P'

def getHumanChoice():
  print("Rock, Scissors, Paper, Quit:", end=' ')
  return input()[0].upper()

def getResult(me, you):
  if me == you: return "Tie"
  elif (me == 'R' and you == 'S') \
    or (me == 'S' and you == 'P') \
    or (me == 'P' and you == 'R'):
      return "Win"
  else: return "Lose"

def main():
  cWins, hWins = 0, 0

  while True:
    computer = getComputerChoice()
    human = getHumanChoice()
    if human == 'Q': break

    result = getResult(human, computer)
    print("computer:%s, human:%s: You %s"\
      % (computer, human, result))

  print("Computer wins:%d, Human wins:%d!"\
    % (cWins, hWins))

if __name__ == "__main__":
  main()
   

Rock-Scissors-Paper With Functions With Multiple .py Files
#functions.py
import random

def getComputerChoice():
  computer = random.randint(1, 3)
  if computer == 1: return 'R'
  elif computer == 2: return 'S'
  elif computer == 3: return 'P'

def getHumanChoice():
  print("Rock, Scissors, Paper, Quit:", end=' ')
  return input()[0].upper()

def getResult(me, you):
  if me == you: return "Tie"
  elif (me == 'R' and you == 'S') \
    or (me == 'S' and you == 'P') \
    or (me == 'P' and you == 'R'):
      return "Win"
  else: return "Lose"

# unit testing
if __name__ == "__main__":
  print(getResult("R", "R"))    
   

# rspfm.py
import functions

def main():
  cWins, hWins = 0, 0

  while True:
    computer = functions.getComputerChoice()
    human = functions.getHumanChoice()
    if human == 'Q': break

    result = functions.getResult(human, computer)
    print("computer:%s, human:%s: You %s"\
      % (computer, human, result))

  print("Computer wins:%d, Human wins:%d!"\
    % (cWins, hWins))

if __name__ == "__main__":
  main()
   

First try at term project
 # email parser
def isValid(c):
  if ('0' <= c and c <= '9'): return True
  if ('A' <= c and c <= 'Z'): return True
  if ('a' <= c and c <= 'z'): return True
  if ('.' == c or c == '-'): return True
  return False

line = "<   rburns@dvc.edu   tina@rdb3.com  "
for i in range(len(line)):
  if (line[i] == '@'):
    hasDot = False
    for s in range(i - 1, -1, -1):
      if not isValid(line[s]):
        break
    if not isValid(line[s]): s += 1
    for e in range(i + 1, len(line)):
      if not isValid(line[e]):
        break
      if line[e] == '.': hasDot = True
    if isValid(line[e]): e += 1
    print(i, s, e, hasDot, line[s:e])