From e8d40d05177470c67f94bdda12ef7f4b7eeacd7e Mon Sep 17 00:00:00 2001 From: NilsForssen Date: Wed, 19 Jan 2022 16:01:23 +0100 Subject: [PATCH] =?utf8?q?Lab=201=20f=C3=A4rdig?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- Laboration1/del1.txt | 12 ++++++ Laboration1/pythonskript.py | 46 ++++++++++++++++++++ Laboration1/uppgift_1.py | 60 +++++++++++++++++++++++++++ Laboration1/uppgift_2.py | 56 +++++++++++++++++++++++++ Laboration1/uppgift_3.py | 29 +++++++++++++ __pycache__/uppgift_1.cpython-39.pyc | Bin 0 -> 1931 bytes test2.py | 3 ++ 7 files changed, 206 insertions(+) create mode 100644 Laboration1/del1.txt create mode 100644 Laboration1/pythonskript.py create mode 100644 Laboration1/uppgift_1.py create mode 100644 Laboration1/uppgift_2.py create mode 100644 Laboration1/uppgift_3.py create mode 100644 __pycache__/uppgift_1.cpython-39.pyc create mode 100644 test2.py diff --git a/Laboration1/del1.txt b/Laboration1/del1.txt new file mode 100644 index 0000000..d6f34cc --- /dev/null +++ b/Laboration1/del1.txt @@ -0,0 +1,12 @@ +mkdir minKatalog +cd /courses/TDDE44/kursmaterial/laboration1 +ls +cat virus.exe +cp virus.exe /home/nilfo359/minKatalog +mv virus.exe mitt_skript.sh +sh mitt_skript.sh ###eller### ls -la; chmod 'u+x' mitt_skript.sh; ./mitt_skript.sh +code virus.exe +###Lägg till:### +cd /home/nilfo359/ +ls +###----------### \ No newline at end of file diff --git a/Laboration1/pythonskript.py b/Laboration1/pythonskript.py new file mode 100644 index 0000000..60d4f93 --- /dev/null +++ b/Laboration1/pythonskript.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python3 + +# OM EXEKVERBARA TEXTFILER +# +# När en exekverbar textfil körs i terminalen tittar systemet (dvs skalet på den +# _första_ raden i filen. Om den första raden börjar med tecknena #! kommer +# resten av raden att användas som en sökväg till det program som ska användas +# för att tolka resten av filen. +# +# När denna fil körs i terminalen kommer python3 att användas för att tolka +# innehållet. För användaren som kör filen är det ingen skillnad på att köra ett +# kompilerat program och ett skript. +# +# Den här filen heter pythonskript.py, men filnamnet har egenligen ingen +# betydelse. Om man döper om denna fil till dota kommer samma sak att hända när +# man kör den. +# +# Det enda som har någon betydelse är om användaren har rätt att exekvera filen, +# och innehållet i filen. + +# Här importeras modulen sys som hjälper oss interagera med systemet +import sys + +def demonstrate_sysargv(): + print("I variabeln sys.argv hittar vi en lista vars första element är") + print("kommandot som skrevs. Efterföljande element i listan är alla") + print("argument som angavs. Se här:\n") + print(sys.argv) + print("\nProva att köra detta kommando igen och skicka med några argument") + print("också!") + +# UPPGIFT! +# +# Er uppgift är att ta bort ordet pass i funktionen nedan och skriva Pythonkod +# som skriver ut det första argumentet som skickades till detta skript. +# +# När ni gjort det, ändra på anropet längst ner i denna fil så att funktionen +# say_hello() körs istället. +def say_hello(): + print(sys.argv[1]) + +# Här är anropet till den funktion som ska användas när detta skript körs. +# När ni skrivit klart funktionen say_hello(), ändra anropet nedan så +# att den körs istället! +say_hello() + diff --git a/Laboration1/uppgift_1.py b/Laboration1/uppgift_1.py new file mode 100644 index 0000000..31334f1 --- /dev/null +++ b/Laboration1/uppgift_1.py @@ -0,0 +1,60 @@ +# Uppgift 1 + +import math + +def return_five(): + return "five" + +def print_five(): + print("five") + +def add_strings(): + return "hej" + "san" + +def use_the_var(): + value = 5 + return value * 5 + +def use_the_arg(a_string): + print(a_string) + return a_string + +def to_string(a_value): + return str(a_value) + +def to_integer(a_value): + return int(a_value) + +def to_float(a_value): + return float(a_value) + +def to_any_type(a_value, a_type): + return a_type(a_value) + +def print_type(a_value): + print(type(a_value)) + +def subtract(value1, value2): + return value1 - value2 + +def split_bill(amount, number_of_people): + print(amount / number_of_people) + return amount / number_of_people + +def round_up(value): + return math.ceil(value) + +def round_down(value): + return math.floor(value) + +def fahrenheit_to_celsius(temperature): + return (temperature - 32) * (5/9) + +def celsius_to_fahrenheit(temperature): + return (temperature * (9/5) + 32) + +def pythagoras(x, y): + return (x**2 + y**2)**(1/2) + +if __name__ == "__main__": + pass \ No newline at end of file diff --git a/Laboration1/uppgift_2.py b/Laboration1/uppgift_2.py new file mode 100644 index 0000000..c000985 --- /dev/null +++ b/Laboration1/uppgift_2.py @@ -0,0 +1,56 @@ +# Uppgift 2 + +import random + +def second_in_list(values): + return values[1] + +def last_in_list(values): + return values[-1] + +def second_last_in_list(values): + return values[-2] + +def n_in_list(values, n): + return values[n] + +def three_first_in_list(values): + return values[:3] # return (values[0], values[1], values[2]) + +def three_last_in_list(values): + return values[-3:] + +def but_five_last_in_list(values): + return values[:-5] + +def every_other_in_list(values): + return values[::2] + +def two_around_n_in_list(values, n): + return values[n-2:n+3] + +def new_list_with_n(values, n): + return [*values, n] + +def append_n_to_list(values, a_value): + values.append(a_value) + return values + +def insert_4_on_pos_3(values): + values.insert(3, 4) + return values + +def extend_vals_to_list(values1, values2): + values1.extend(values2) + return values1 + +def remove_from_third_in_list(values): + del values[2:] + return values + +def concatenate_lists(values1, values2): + return [*values1, *values2] + +def select_random(values): + return random.choice(values) + \ No newline at end of file diff --git a/Laboration1/uppgift_3.py b/Laboration1/uppgift_3.py new file mode 100644 index 0000000..eb58156 --- /dev/null +++ b/Laboration1/uppgift_3.py @@ -0,0 +1,29 @@ +# Uppgift 3 + +import random + +def concatenate_strings(string1, string2): + return string1 + string2 + +def use_the_linebreak(): + print("rad 1\nrad 2") + return "rad 1\nrad 2" + +def generate_pokemon_name(prefixes, suffixes): + return random.choice(prefixes) + random.choice(suffixes) + +def first_word(s): + return s.split()[0] + +def join_list(values): + return ":".join(values) + +def remove_spaces(s): + return s.rstrip() + +def get_characters(s, pos, num_of_chars): + return s[pos:pos+num_of_chars] + + +print(get_characters("Ett ytterligare exempel", 4, 11)) + diff --git a/__pycache__/uppgift_1.cpython-39.pyc b/__pycache__/uppgift_1.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..840da85bd71dd13a8cf53949009506d8cf771a46 GIT binary patch literal 1931 zcmb7_OK%fN5XZa6V`pN=juT#i@DkEWYiYF>uLBZdkqF`zt;C+@((1U{&cM7>(-Raa zoWe)oz!8r5O1^S|ufS=m+K-HEM<{K%t9rWKzpCngk9E7<6x7~ye(0no#CIN48$A;* z>05lE4g|dau90oRb+|#c1v_w)>;~L|U9xSs4R^?P%%<_rFHc5k5^eueqc;%V5ANs@S$ean})XuwK|MU;D#PriB9%hf9KI`vggEBFx zE&BUWT&RCB8=+1TgHbx_|F^gI`pJ`indhTuXw}2N^W$*~jV&=%ynUUa9(6(@`%97W zoQrIO980meT*O;}JaZ<;^_)QVJidv?d5oKG%5ef3&p7Naah593qY5+*&AURUi<`TG zI6_MUsKRopMXQ2XUqtZsa|8zf@}oGRGzjyP6L$v+MLQ8(G^U-&eQeNzo(uy$4g5lu#?dydow5Rnn>4zZ#aUURoRWN8 zkUcrBQEe!xHBEu9NNe3@(;%)hXsUxNm&dRIw&-Vzxikqtb7o}lW`%I=(uDdj&h%@d4jWq8<9t~I#L?-oo4ZHrX64!;f9X_M zqVC#s$+5yZ*!=3Sgow6AX6!rG%HmC~56?fKl{4Ng@_&;WCAY&@lsVJX!iH18!>N6= zcv3-89$3@^`$q+}y9zZ=?JCW(;7;W3RN(B*uukS46*I}o)P~)(Ob!gHY^ZXR