Py HelloKitty

ac48db4417ed4ea78acd9cc578ddae54.jpga = input("Enter your first name: ")

b = input("Enter your surname: ")

print(f"Hi {a.lower()} {b.upper()}, how are you?")

51358d338f5c4a98a4275bba2ec0cd7c.jpg

 def get_min_abs_distance(a_list):

    min_distance = abs(a_list[0]-a_list[1])

    for i in range(1, len(a_list)-1):

        current_distance = abs(a_list[i] - a_list[i+1])

        if current_distance < min_distance:

            min_distance = current_distance

    return min_distance

e8a92041576e466fba1801d4a24e617e.jpg

 def modify_list(words_list):

    for i in range(len(words_list)):

        words_list[i] = words_list[i][i+1: len(words_list[i])]

1eb8596401734649832775e4cc14afad.jpg

 def get_first_mid_last(words_list):
    lst = []
    for word in words_list:
        if len(word) < 3:
            pass
        else:
            a = word[0] + word[len(word)//2] + word[-1]
            lst.append(a.lower())
    return lst

d62f45274fb54959bdb2db408ba0c40f.jpg

 def generate_words(filename):

    try:

        if filename == "":

            raise NameError("ERROR: Invalid filename!")

        else:

            content = open(filename, "r")

    except NameError as e:

        return e

    except FileNotFoundError:

        return f"ERROR: The file '{filename}' does not exist."

    else:

        words_list = content.read().split()

        words_list = [word.lower() for word in words_list]

        new_lst= []

        for word in words_list:

            if word not in new_lst:

                new_lst.append(word)

        content.close()

        lst = []

        for word in new_lst:

            if len(word) < 3:

                pass

            else:

                a = word[0] + word[len(word)//2] + word[-1]

                lst.append(a.lower())

        return lst

b78a660b5bf24deda54e68f05cca5666.jpg

 class City:

    def __init__(self, name, population=1, area=1):

        self.__name = name

        self.__population = population

        self.__area = area

 

    def get_name(self):

        return self.__name

 

    def get_population(self):

        return self.__population

 

    def get_area(self):

        return self.__area

 

    def set_name(self, name):

        self.__name = name

 

    def set_population(self, population):

        if population > 0:

            self.__population = population

 

    def set_area(self, area):

        if area > 0:

            self.__area = round(area, 1)

 

    def get_population_density(self):

        return self.__population / self.__area

 

    def __str__(self):

        return f"{self.__name}({self.get_population_density():.2f})"

9ee1e057e0f04128a1fef50684728357.jpg

 class Country:

    def __init__(self, name):

        self.__name = name

        self.__cities_list = []

 

    def get_name(self):

        return self.__name

 

    def add_city(self, name, population, area):

        city = City(name, population, area)

        self.__cities_list.append(city)

 

    def get_total_population(self):

        total = 0

        for city in self.__cities_list:

            total += city.get_population()

        return total

 

    def get_total_area(self):

        total = 0

        for city in self.__cities_list:

            total += city.get_area()

        return total

 

    def get_population_density(self):

        return self.get_total_population() / self.get_total_area()

 

    def get_city(self, index):

        return self.__cities_list[index]

 

    def __str__(self):

        msg = self.__name + ":" + "\n"

        msg += "\n".join(str(city) for city in self.__cities_list)

        msg += f"\nPopulation density = {self.get_population_density():.2f}"

        return msg

84713b2183e64491b7365e1383d0b772.jpg

 import random

 

def bogo_sort(data):

    c = 2

    is_sorted = False

    while not is_sorted:

        c += 6

        i = 0

        while i < len(data) - 1:

            c += 4

            j = random.randrange(i, len(data))

            data[i], data[j] = data[j], data[i]

            i += 1

        is_sorted = True

        i = 0

        while i < len(data) - 1:

            c += 3

            is_sorted = is_sorted and not data[i] > data[i + 1]

            i += 1

    print(f"Number of operations: {c}")

8396d02ee2ff4ff0bc908b8600bbd58b.jpg

 stop = False

compare_total = 0

original_lst = []

while not stop:

    result_lst = []

    num = int(input("Enter a number: "))

    if num == 99999:

        stop = True

        print(f"Total comparisons: {compare_total}")

        print(original_lst)

    else:

        if not original_lst:

            original_lst.append(num)

            print(f"Comparisons: 0")

            print(original_lst)

        else:

            i = len(original_lst) - 1

            while i >= 0 and original_lst[i] > num:

                i -= 1

            if i == -1:

                result_lst.append(num)

                for item in original_lst:

                    result_lst.append(item)

                compare = len(original_lst)

                compare_total += compare

            else:

                for i in range(0, i + 1):

                    result_lst.append(original_lst[i])

                result_lst.append(num)

                for j in range(i + 1, len(original_lst)):

                    result_lst.append(original_lst[j])

                compare = len(original_lst) - 1 - i + 1

                compare_total += compare

            original_lst = result_lst

            print(f"Comparisons: {compare}")

            print(result_lst)

675340fc42304a1c9f992ec490afbd38.jpg

 def weighted_binary_search(data, value):

    low = 0

    high = len(data) - 1

    while low <= high:

        low_value = data[low]

        high_value = data[high]

        approx_mid = int(((value - low_value) / (high_value - low_value)) * (high - low)) + low

        print(f'Searching mid index: {approx_mid}')

        if not 0 <= approx_mid < len(data) or approx_mid < low or approx_mid > high:

            return -1

        if data[approx_mid] == value:

            return approx_mid

        elif data[approx_mid] < value:

            low = approx_mid + 1

        else:

            high = approx_mid - 1

    return -1

7f08cd6695b84286a73d76eaf3032e6c.jpg

 num = int(input("Enter a number: "))

digit = num % 10

print("The least significant digit of {} is {}.".format(num, digit))

ada816d1d34d44da8e621e8f52d17bfe.jpg

 def get_sum_of_neighbours(a_list):

    result = [a_list[1]]

    for index in range(1, len(a_list)-1):

        total = a_list[index-1] + a_list[index+1]

        result.append(total)

    result.append(a_list[-2])

    return result

da01f434624a4a799641abc980cda9ea.jpg

 def index_of_closest(a_list, number):

    new = [abs(num - number) for num in a_list]

    a = min(new)

    return new.index(a)

42e22c6e18ad480fa95f19a6161f6c09.jpg

 def create_username_dictionary(names_list):

    dict = {}

    for i in names_list:

        if i[1] not in dict:

            dict[i[1]] = i[0]

        else:

            print(f"ERROR: {i[1]} is already in the dictionary.")

    return dict

eeef2e577e8441c3984beb0848d96b54.jpg

 def count_words_of_length(filename, n): 

    try:

        if len(filename)<=0:

            raise ValueError

        input_file = open(filename, "r")

        words = input_file.read().split()

        temp = [len(word) for word in words]

        return temp.count(n)

    except ValueError:

        return 'ERROR: Invalid filename!'

    except FileNotFoundError:

        return("ERROR: The file '{}' does not exist.".format(filename))

    else:

        input_file.close()

e63cf4365cd7459485c58e0ceda5918c.jpg

 def rate(n):

    total = 0

    i = 0

    count = 3

    while i<10:

        count +=3

        total += i

        i += 1

    i = 0

    count += 2

    while i < n:

        count += 4

        j = n

        while j > 0:

            count += 3

            total += 1

            j -= 2

        i += 2

    count +=1

    print('Number of operations: {}'.format(count))   

    return total 

a1068416649f459c88c01a8b0e36502f.jpg

 def selection_sort(data):

    swaps = 0

    for pass_num in range(len(data) - 1, 0, -1):

        position_largest = 0

        for i in range(1, pass_num+1):

            if data[i] > data[position_largest]:

                position_largest = i

        if position_largest != i:

            data[position_largest], data[i] = data[i], data[position_largest]

            swaps += 1

    return swaps 

cda7d1e581d84beb837f7a8061d79a8a.jpg

 def get_study_guide(filename, keyword):
    dictionary = {}
    input_file = open(filename, "r")
    list_of_word_pairs = input_file.readlines()
    input_file.close()
    for word_pair in list_of_word_pairs:
        word_pair = word_pair.strip()
        word_pair_split = word_pair.split(":")
        dictionary[word_pair_split[0]] = word_pair_split[1]
    try:
        if len(keyword) == 0:
            raise ValueError
        value = dictionary[keyword]
        return value
    except KeyError:
        return("ERROR: {} is not available.".format(keyword))
    except TypeError:
        return("ERROR: Invalid input!")
    except ValueError:
        return("ERROR: Invalid keyword!")

b4e7fcbfc87a4aad9f0d7ca9f1470c74.jpg

 class Student:

    def __init__(self, surname, firstname, student_id):

        self.__surname = surname

        self.__firstname = firstname

        self.__student_id = student_id

        self.__project_scores = []

 

    def add_project_score(self, score):

        if 0 <= score <= 10:

            self.__project_scores.append(score)

 

    def get_names(self):

        return f"{self.__surname} {self.__firstname}"

 

    def get_student_id(self):

        return self.__student_id

 

    def get_project_scores(self):

        return self.__project_scores

 

    def get_average(self):

        sum = 0

        if len(self.__project_scores) != 0:

            for i in self.__project_scores:

                sum += i

            return round(sum / (len(self.__project_scores)), 1)

        else:

            return 0

 

    def __str__(self):

        return f"{self.__surname} {self.__firstname}({self.__student_id}), average score = {self.get_average()}"

b2c3f1ee03624730b50195dc480335de.jpg

 class Project:

    def __init__(self, id, title):

        self.__project_id = id

        self.__title = title

        self.__students = []

    def get_project_id(self):

        return self.__project_id

    def get_title(self):

        return self.__title

    def add_student(self, s):

        self.__students.append(s)

    def set_score(self, score):

        for s in self.__students:

            s.add_project_score(score)

    def get_number_of_students(self):

        return len(self.__students)

    def get_students(self):

        result = [s.get_names() for s in self.__students]    

        return ','.join(result)

    def __str__(self):

        return 'ID={},({}):{}'.format(self.__project_id, self.__title, self.get_students())

d7a52a61016a468bac6727cb0bae204f.jpg

 def get_missing_items_list(my_list):

    missing_items = []

    if len(my_list) > 1:

        index = 0

        while (index < len(my_list)-1):

            current_item = my_list[index]

            next_item = my_list[index + 1]

            curent_plus_one = current_item + 1

            while curent_plus_one < next_item:

                missing_items.append(curent_plus_one)

                curent_plus_one = curent_plus_one + 1

            index = index + 1  

    return missing_items

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值