Procedural + OOP
factorial = lambda x: 1 if x <= 1 else x*(x-1)
N = int(input())
def factorial(N):
if N <=1:
return 1
else:
return N * (N - 1)
print(factorial(8))
nums = sum([int(i) for i in re.findall('[\d]+', open("/Users/missogra/Desktop/real_text.txt", 'r').read())])# custom Exceptions
class NameTooShort(ValueError):
pass
# 3rd try -- definition of a subclass
def validate(name):
if len(name) < 10:
# return ValueError #1st try
# raise ValueError("Name too short") #2nd try
raise NameTooShort # 3rd try -- definition of a subclass
validate("john")
# Caesar Cipher
# Nice example to see how to build a program
MAX_KEY_SIZE = 26
def getMode():
while True:
print('Do you wish to encrypt or decrypt a message?')
mode = input().lower()
if mode in 'encrypt e decrypt d'.split():
return mode
else:
print('Enter either "encrypt" or "e" or "decrypt" or "d".')
def getMessage():
print('Enter your message:')
return input()
def getKey():
key =
while True:
print('Enter the key number (-%s)' % (MAX_KEY_SIZE))
key = int(input())
if (key >= and key <= MAX_KEY_SIZE):
return key
def getTranslatedMessage(mode, message, key):
if mode[] == 'd':
key = -key
translated = ''
for symbol in message:
if symbol.isalpha():
num = ord(symbol)
num += key
if symbol.isupper():
if num > ord('Z'):
num -=
elif num < ord('A'):
num +=
elif symbol.islower():
if num > ord('z'):
num -=
elif num < ord('a'):
num +=
translated += chr(num)
else:
translated += symbol
return translated
mode = getMode()
message = getMessage()
key = getKey()
print('Your translated text is:')
print(getTranslatedMessage(mode, message, key))
import random
player1_dice = []
player2_dice = []
for i in range(3):
player1_dice.append(random.randint(1,6))
player2_dice.append(random.randint(1,6))
print("Player 1 rolled" + str(player1_dice))
print("Player 2 rolled" + str(player2_dice))
if sum(player1_dice) == sum(player2_dice):
print("Draw")
elif sum(player1_dice) > sum(player2_dice):
print("Player 1 wins")
else:
print("Player 2 wins")from random import randint
class Player:
def __init__(self):
self.dice = []
def roll(self):
self.dice = [] # clears current dice
for i in range(3):
self.dice.append(randint(1,6))
def get_dice(self):
return self.dice
player1 = Player()
player2 = Player()
player1.roll()
player2.roll()
print("Player 1 rolled" + str(player1.get_dice()))
print("Player 2 rolled" + str(player2.get_dice()))
if sum(player1.get_dice()) == sum(player2.get_dice()):
print("Draw!")
elif sum(player1.get_dice()) > sum(player2.get_dice()):
print("Player 1 wins!")
else:
print("Player 2 wins!")