solution test-exam
This commit is contained in:
		
							parent
							
								
									546ff352b4
								
							
						
					
					
						commit
						b011c1d0ca
					
				
							
								
								
									
										125
									
								
								code/test-exam/main.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										125
									
								
								code/test-exam/main.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,125 @@
 | 
			
		||||
import math
 | 
			
		||||
import random
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def primfactors(n, divisor=2):
 | 
			
		||||
    if n == 1:
 | 
			
		||||
        return []
 | 
			
		||||
 | 
			
		||||
    if not n % divisor:
 | 
			
		||||
        return [divisor] + primfactors(n // divisor, divisor)
 | 
			
		||||
 | 
			
		||||
    return primfactors(n, divisor + 1)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def harmon(n, val=0):
 | 
			
		||||
    if not n:
 | 
			
		||||
        return 0
 | 
			
		||||
 | 
			
		||||
    val += harmon(n - 1, 1 / n)
 | 
			
		||||
    return val
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def usum(n, res=1):
 | 
			
		||||
    if not n:
 | 
			
		||||
        return 0
 | 
			
		||||
 | 
			
		||||
    res += usum(n - 1, res + 2)
 | 
			
		||||
    return res
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def a4(x):
 | 
			
		||||
    return (lambda x: 7 * x)(x)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def b4(x):
 | 
			
		||||
    return (lambda x: math.pow(x, 3 / 5))(x)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def reverse(a: list):
 | 
			
		||||
    if len(a) == 1:
 | 
			
		||||
        return a
 | 
			
		||||
 | 
			
		||||
    # Reverse first and last
 | 
			
		||||
    a[0], a[-1] = a[-1], a[0]
 | 
			
		||||
 | 
			
		||||
    # return [a[0], reverse(a[1:-2]), a[-1]]
 | 
			
		||||
    return [a[0]] + reverse(a[1:-1]) + [a[-1]]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class Ticket:
 | 
			
		||||
    event = ""
 | 
			
		||||
    price_class = 0
 | 
			
		||||
 | 
			
		||||
    def __init__(self, price, num, is_valid) -> None:
 | 
			
		||||
        self.price = price
 | 
			
		||||
        self.num = num
 | 
			
		||||
        self.is_valid = is_valid
 | 
			
		||||
 | 
			
		||||
    def __str__(self):
 | 
			
		||||
        return f"Price: {self.price}; \n Number: {self.num} \nValid: {self.is_valid}"
 | 
			
		||||
 | 
			
		||||
    def __repr__(self) -> str:
 | 
			
		||||
        return f"Price: {self.price}; \n Number: {self.num} \nValid: {self.is_valid}"
 | 
			
		||||
 | 
			
		||||
    def convert(self, course):
 | 
			
		||||
        new_price = self.price * course
 | 
			
		||||
        print(f"Price with course: {course} is {new_price}")
 | 
			
		||||
        return new_price
 | 
			
		||||
 | 
			
		||||
    def get_is_valid(self):
 | 
			
		||||
        return self.is_valid
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def fill_tickets():
 | 
			
		||||
    return [
 | 
			
		||||
        Ticket(i * 10, num=random.random() * i, is_valid=True if i % 3 else False)
 | 
			
		||||
        for i in range(12)
 | 
			
		||||
    ]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def writeTicketFile(ticket_list: list):
 | 
			
		||||
    with open("ticket_list.txt", "+w") as f:
 | 
			
		||||
        f.writelines(
 | 
			
		||||
            [f"Ticket {i}: {t.__str__()} \n\n" for t, i in enumerate(ticket_list)]
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class TicketA(Ticket):
 | 
			
		||||
    price_class = "A"
 | 
			
		||||
 | 
			
		||||
    def write_to_file(self):
 | 
			
		||||
        with open(f"{self.price_class}.txt", "a") as file:
 | 
			
		||||
            file.write(self.__str__() + "\n")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class TicketB(Ticket):
 | 
			
		||||
    price_class = "B"
 | 
			
		||||
 | 
			
		||||
    def write_to_file(self):
 | 
			
		||||
        with open(f"{self.price_class}.txt", "a") as file:
 | 
			
		||||
            file.write(self.__str__() + "\n")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class TicketC(Ticket):
 | 
			
		||||
    price_class = "C"
 | 
			
		||||
 | 
			
		||||
    def write_to_file(self):
 | 
			
		||||
        with open(f"{self.price_class}.txt", "a") as file:
 | 
			
		||||
            file.write(self.__str__() + "\n")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class TicketD(Ticket):
 | 
			
		||||
    price_class = "D"
 | 
			
		||||
 | 
			
		||||
    def write_to_file(self):
 | 
			
		||||
        with open(f"{self.price_class}.txt", "a") as file:
 | 
			
		||||
            file.write(self.__str__() + "\n")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def main():
 | 
			
		||||
    writeTicketFile(fill_tickets())
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
if __name__ == "__main__":
 | 
			
		||||
    main()
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user