diff options
| -rw-r--r-- | labb1/mitt_skript.sh | 116 | ||||
| -rw-r--r-- | labb1/pythonskript.py | 45 | ||||
| -rw-r--r-- | upg1.py | 148 |
3 files changed, 309 insertions, 0 deletions
diff --git a/labb1/mitt_skript.sh b/labb1/mitt_skript.sh new file mode 100644 index 0000000..89f6ee5 --- /dev/null +++ b/labb1/mitt_skript.sh @@ -0,0 +1,116 @@ +#!/bin/bash + +# Rader som börjar med ett # tolkas som kommentarer + + + + + + + + + + + + + + +#hPYQbWI2Hk1Sf7WlA7uHm6B4JTQJrFkJY4YSyBI1HGEYCPZDLV9lhF5gTBeRW5UGgvUIQb0Kkdj5sw +#qmwfGFvnDeERJxtG30xdd8hKcpCl0dLsn4qbLqaGRVQomGSJRhr69JkKQ13vsN5vDf9cGBh8B5wh8u +#CgIgzVLeIWjDGp7ngEEERBib8VV8eQeUvgr80Ou1TmaokbXF2PVr1HYnKR74Zkqw6xuPDwSqB1i0T5 +#RKiFLyLXfNWGD3KWUuhN9C6DOMj1KQV7opywE6UaiMWUnsAT8LFgwWJ4ZJBnktxe1iuJx3Jo7cNK5N +#hPYQbWI2Hk1Sf7WlA7uHm6B4JTQJrFkJY4YSyBI1HGEYCPZDLV9lhF5gTBeRW5UGgvUIQb0Kkdj5sw +#qmwfGFvnDeERJxtG30xdd8hKcpCl0dLsn4qbLqaGRVQomGSJRhr69JkKQ13vsN5vDf9cGBh8B5wh8u +#CgIgzVLeIWjDGp7ngEEERBib8VV8eQeUvgr80Ou1TmaokbXF2PVr1HYnKR74Zkqw6xuPDwSqB1i0T5 +#hPYQbWI2Hk1Sf7WlA7uHm6B4JTQJrFkJY4YSyBI1HGEYCPZDLV9lhF5gTBeRW5UGgvUIQb0Kkdj5sw +#qmwfGFvnDeERJxtG30xdd8hKcpCl0dLsn4qbLqaGRVQomGSJRhr69JkKQ13vsN5vDf9cGBh8B5wh8u +#CgIgzVLeIWjDGp7ngEEERBib8VV8eQeUvgr80Ou1TmaokbXF2PVr1HYnKR74Zkqw6xuPDwSqB1i0T5 +#RKiFLyLXfNWGD3KWUuhN9C6DOMj1KQV7opywE6UaiMWUnsAT8LFgwWJ4ZJBnktxe1iuJx3Jo7cNK5N +#eVkz6GVz2iQGlEZUrQioGnVyGcFZvZdpHS0N98TDvWFIdvjqiXoo5OU194QHxNdaXLn3OnapVOwW5p +#RKiFLyLXfNWGD3KWUuhN9C6DOMj1KQV7opywE6UaiMWUnsAT8LFgwWJ4ZJBnktxe1iuJx3Jo7cNK5N +#eVkz6GVz2iQGlEZUrQioGnVyGcFZvZdpHS0N98TDvWFIdvjqiXoo5OU194QHxNdaXLn3OnapVOwW5p +#eVkz6GVz2iQGlEZUrQioGnVyGcFZvZdpHS0N98TDvWFIdvjqiXoo5OU194QHxNdaXLn3OnapVOwW5p +#qmwfGFvnDeERJxtG30xdd8hKcpCl0dLsn4qbLqaGRVQomGSJRhr69JkKQ13vsN5vDf9cGBh8B5wh8u +#CgIgzVLeIWjDGp7ngEEERBib8VV8eQeUvgr80Ou1TmaokbXF2PVr1HYnKR74Zkqw6xuPDwSqB1i0T5 +#RKiFLyLXfNWGD3KWUuhN9C6DOMj1KQV7opywE6UaiMWUnsAT8LFgwWJ4ZJBnktxe1iuJx3Jo7cNK5N +#eVkz6GVz2iQGlEZUrQioGnVyGcFZvZdpHS0N98TDvWFIdvjqiXoo5OU194QHxNdaXLn3OnapVOwW5p +#qmwfGFvnDeERJxtG30xdd8hKcpCl0dLsn4qbLqaGRVQomGSJRhr69JkKQ13vsN5vDf9cGBh8B5wh8u +#CgIgzVLeIWjDGp7ngEEERBib8VV8eQeUvgr80Ou1TmaokbXF2PVr1HYnKR74Zkqw6xuPDwSqB1i0T5 +#RKiFLyLXfNWGD3KWUuhN9C6DOMj1KQV7opywE6UaiMWUnsAT8LFgwWJ4ZJBnktxe1iuJx3Jo7cNK5N +#eVkz6GVz2iQGlEZUrQioGnVyGcFZvZdpHS0N98TDvWFIdvjqiXoo5OU194QHxNdaXLn3OnapVOwW5p +#qmwfGFvnDeERJxtG30xdd8hKcpCl0dLsn4qbLqaGRVQomGSJRhr69JkKQ13vsN5vDf9cGBh8B5wh8u +#CgIgzVLeIWjDGp7ngEEERBib8VV8eQeUvgr80Ou1TmaokbXF2PVr1HYnKR74Zkqw6xuPDwSqB1i0T5 +#RKiFLyLXfNWGD3KWUuhN9C6DOMj1KQV7opywE6UaiMWUnsAT8LFgwWJ4ZJBnktxe1iuJx3Jo7cNK5N +#eVkz6GVz2iQGlEZUrQioGnVyGcFZvZdpHS0N98TDvWFIdvjqiXoo5OU194QHxNdaXLn3OnapVOwW5p +#qmwfGFvnDeERJxtG30xdd8hKcpCl0dLsn4qbLqaGRVQomGSJRhr69JkKQ13vsN5vDf9cGBh8B5wh8u +#CgIgzVLeIWjDGp7ngEEERBib8VV8eQeUvgr80Ou1TmaokbXF2PVr1HYnKR74Zkqw6xuPDwSqB1i0T5 +#RKiFLyLXfNWGD3KWUuhN9C6DOMj1KQV7opywE6UaiMWUnsAT8LFgwWJ4ZJBnktxe1iuJx3Jo7cNK5N +#eVkz6GVz2iQGlEZUrQioGnVyGcFZvZdpHS0N98TDvWFIdvjqiXoo5OU194QHxNdaXLn3OnapVOwW5p +#qmwfGFvnDeERJxtG30xdd8hKcpCl0dLsn4qbLqaGRVQomGSJRhr69JkKQ13vsN5vDf9cGBh8B5wh8u +#CgIgzVLeIWjDGp7ngEEERBib8VV8eQeUvgr80Ou1TmaokbXF2PVr1HYnKR74Zkqw6xuPDwSqB1i0T5 +#RKiFLyLXfNWGD3KWUuhN9C6DOMj1KQV7opywE6UaiMWUnsAT8LFgwWJ4ZJBnktxe1iuJx3Jo7cNK5N +#eVkz6GVz2iQGlEZUrQioGnVyGcFZvZdpHS0N98TDvWFIdvjqiXoo5OU194QHxNdaXLn3OnapVOwW5p +#qmwfGFvnDeERJxtG30xdd8hKcpCl0dLsn4qbLqaGRVQomGSJRhr69JkKQ13vsN5vDf9cGBh8B5wh8u +#CgIgzVLeIWjDGp7ngEEERBib8VV8eQeUvgr80Ou1TmaokbXF2PVr1HYnKR74Zkqw6xuPDwSqB1i0T5 +#RKiFLyLXfNWGD3KWUuhN9C6DOMj1KQV7opywE6UaiMWUnsAT8LFgwWJ4ZJBnktxe1iuJx3Jo7cNK5N +#eVkz6GVz2iQGlEZUrQioGnVyGcFZvZdpHS0N98TDvWFIdvjqiXoo5OU194QHxNdaXLn3OnapVOwW5p +#qmwfGFvnDeERJxtG30xdd8hKcpCl0dLsn4qbLqaGRVQomGSJRhr69JkKQ13vsN5vDf9cGBh8B5wh8u +#CgIgzVLeIWjDGp7ngEEERBib8VV8eQeUvgr80Ou1TmaokbXF2PVr1HYnKR74Zkqw6xuPDwSqB1i0T5 +#RKiFLyLXfNWGD3KWUuhN9C6DOMj1KQV7opywE6UaiMWUnsAT8LFgwWJ4ZJBnktxe1iuJx3Jo7cNK5N +#eVkz6GVz2iQGlEZUrQioGnVyGcFZvZdpHS0N98TDvWFIdvjqiXoo5OU194QHxNdaXLn3OnapVOwW5p + + +# ,_-=(!7(7/zs_. +# .=' ' .`/,/!(=)Zm. +# .._,,._.. ,-`- `,\ ` -` -`\\7//WW. +# ,v=~/.-,-\- -!|V-s.)iT-|s|\-.' `///mK%. +# v!`i!-.e]-g`bT/i(/[=.Z/m)K(YNYi.. /-]i44M. +# v`/,`|v]-DvLcfZ/eV/iDLN\D/ZK@%8W[Z.. `/d!Z8m +# //,c\(2(X/NYNY8]ZZ/bZd\()/\7WY%WKKW) -'|(][%4. +# ,\\i\c(e)WX@WKKZKDKWMZ8(b5/ZK8]Z7%ffVM, -.Y!bNMi +# /-iit5N)KWG%%8%%%%W8%ZWM(8YZvD)XN(@. [ \]!/GXW[ +# / ))G8\NMN%W%%%%%%%%%%8KK@WZKYK*ZG5KMi,- vi[NZGM[ +# i\!(44Y8K%8%%%**~YZYZ@%%%%%4KWZ/PKN)ZDZ7 c=//WZK%! +# ,\v\YtMZW8W%%f`,`.t/bNZZK%%W%%ZXb*K(K5DZ -c\\/KM48 +# -|c5PbM4DDW%f v./c\[tMY8W%PMW%D@KW)Gbf -/(=ZZKM8[ +# 2(N8YXWK85@K -'c|K4/KKK%@ V%@@WD8e~ .//ct)8ZK%8` +# =)b%]Nd)@KM[ !'\cG!iWYK%%| !M@KZf -c\))ZDKW%` +# YYKWZGNM4/Pb '-VscP4]b@W% 'Mf` -L\///KM(%W! +# !KKW4ZK/W7)Z. '/cttbY)DKW% -` .',\v)K(5KW%%f +# 'W)KWKZZg)Z2/,!/L(-DYYb54% ,,`, -\-/v(((KK5WW%f +# \M4NDDKZZ(e!/\7vNTtZd)8\Mi!\-,-/i-v((tKNGN%W%% +# 'M8M88(Zd))///((|D\tDY\\KK-`/-i(=)KtNNN@W%%%@%[ +# !8%@KW5KKN4///s(\Pd!ROBY8/=2(/4ZdzKD%K%%%M8@%% +# '%%%W%dGNtPK(c\/2\[Z(ttNYZ2NZW8W8K%%%%YKM%M%%. +# *%%W%GW5@/%!e]_tZdY()v)ZXMZW%W%%%*5Y]K%ZK%8[ +# '*%%%%8%8WK\)[/ZmZ/Zi]!/M%%%%@f\ \Y/NNMK%%! +# 'VM%%%%W%WN5Z/Gt5/b)((cV@f` - |cZbMKW%%| +# 'V*M%%%WZ/ZG\t5((+)L\'-,,/ -)X(NWW%% +# `~`MZ/DZGNZG5(((\, ,t\\Z)KW%@ +# 'M8K%8GN8\5(5///]i!v\K)85W%%f +# YWWKKKKWZ8G54X/GGMeK@WM8%@ +# !M8%8%48WG@KWYbW%WWW%%%@ +# VM%WKWK%8K%%8WWWW%%%@` +# ~*%%%%%%W%%%%%%%@~ +# ~*MM%%%%%%@f` +# ''''' + + +echo "Detta är ett bash-skript." +echo "Varje rad i denna fil kommer tolkas som om en användare hade skrivit den" +echo "i terminalen." +echo "" +echo "Kommandot echo skriver ut strängar." + +# UPPGIFT! +# Lägg till kommandon under denna rad som listar innehållet i din hemkatalog. + +ls ~/ + + + + + + + +# Du har nu hittat rätt fil. diff --git a/labb1/pythonskript.py b/labb1/pythonskript.py new file mode 100644 index 0000000..6e0679f --- /dev/null +++ b/labb1/pythonskript.py @@ -0,0 +1,45 @@ +#!/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() + @@ -0,0 +1,148 @@ +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 celsius_to_fahrenheit(value): + return value * 9/5 + 32 + + +def fahrenheit_to_celsius(value): + return (value - 32) * 5/9 + + +def pythagoras(x, y): + return math.sqrt(x ** 2 + y ** 2) + + +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] + +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, a_value): + return values + [a_value] + +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 + +import random +def select_random(values): + return random.choice(values) + +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 concatenate_strings(select_random(prefixes), select_random(suffixes)) + +def first_word(s): + return s.split(" ")[0] + +def join_list(vals): + return ":".join(vals) + +def remove_spaces(s): + return s.rstrip() + +def get_characters(s, pos, num_of_chars): + return s[pos:pos+num_of_chars] |
