Commit 01124835 authored by Børge Haugset's avatar Børge Haugset

dette burde holde til uke 42

parent c6a00c27
import numpy as np
vektor = np.array([1,2,3,4,5])
vec1 = vektor*4
vec2 = vektor**2
vec3 = vektor<3
vec4 = 10*np.sin(vektor)
print(f'\nvektor = {vektor}\n')
print(f'vec1 = {vec1}')
print(f'vec2 = {vec2}')
print(f'vec3 = {vec3}')
print(f'vec4 = {vec4}')
import numpy as np
a = np.array([[1,2,3,4,5],[3,4,5,6,7]])
b = np.array([[2,4,6,8,9],[6,8,10,12,13]])
print(f'Matrise a:\n{a}')
print(f'Matrise b:\n{b}')
if a.shape == b.shape:
print(f'\nSummen av matrisene a og b blir \n{a+b}\n')
import numpy as np
a = np.array([[1,2,3,4,5],[3,4,5,6,7],[2,2,3,4,8]])
b = np.array([[2,4,6],[6,8,10],[1,2,3],[2,3,4],[44,3,2]])
af = a.shape
bf = b.shape
print("shapes:",af,bf)
print("af[0]",af[0])
print(f'Matrise a:\n{a}')
print(f'Matrise b:\n{b}')
print(f'\nFor at matrisene skal kunne multipliseres må de ha passende form.')
print(f'af * bf: {af} * {bf}')
if af[1] == bf[0]:
print(f'\na og b multiplisert blir \n{a@b}\n')
else:
print('Matrisene kan ikke multipliseres')
import numpy as np
a = np.array([[1,2,3],[12,31,4],[27,8,9]])
if np.linalg.det(a) == 0:
print('Kan ikke invertere matrisen')
else:
b = np.linalg.inv(a)
print(b)
c = a@b
d = b@a
print(f'\n{c}\n')
print(f'\n{d}\n')
print(np.eye(c.shape[0]))
\ No newline at end of file
import numpy as np
a = np.floor(10*np.random.random((3,4)))
print(a,'\n')
# b = a.reshape(a.shape[0]*a.shape[1],)
# print(b,'\n')
# b = a.ravel()
# print(b,'\n')
# print(b.shape,'\n')
# c = b.reshape(6,2)
# print(c,'\n')
# d = c.T
# print(d,'\n')
\ No newline at end of file
import numpy as np
a = np.array([1, 2, 3]) # Create a rank 1 array
print(type(a)) # Prints "<class 'numpy.ndarray'>"
print(a.shape) # Prints "(3,)"
print(a[0], a[1], a[2]) # Prints "1 2 3"
a[0] = 5 # Change an element of the array
print(a) # Prints "[5, 2, 3]"
b = np.array([[1,2,3],[4,5,6]]) # Create a rank 2 array
print('\n',b,'\n')
print(b.shape) # Prints "(2, 3)"
print(b[0, 0], b[0, 1], b[1, 0]) # Prints "1 2 4"
\ No newline at end of file
import numpy as np
a = np.array([[1,2,3],[4,5,6],[17,18,23],[34,12,8]])
print(a)
print(a.shape) # Skriver (4,3) - 4 linjer og 3 kolonner
\ No newline at end of file
# Multiplikasjon av 2 matriser i standard Python ved hjelp av 2D lister
def matrisemult(a,b):
resultat = []
for i in range(len(a)):
liste = []
for j in range(len(b[0])):
el = 0
for x in range(len(b)):
print(f'{a[i][x]}*{b[x][j]}',end=" ")
el += a[i][x]*b[x][j]
print()
liste.append(el)
resultat.append(liste)
return resultat
a = [[11,12,13,14,15],[16,17,18,19,20],[21,22,23,24,25]]
b = [[2,4,8],[6,8,10],[1,2,3],[2,3,4],[4,3,2]]
if len(a[0]) == len(b):
print(matrisemult(a,b))
else:
print('Det går dessverre ikke.')
\ No newline at end of file
# Multiplikasjon av 2 matriser med numpy
import numpy as np
a = np.array([[1,2,3,4,5],[3,4,5,6,7],[2,2,3,4,4]])
b = np.array([[2,4,8],[6,8,10],[1,2,3],[2,3,4],[4,3,2]])
if a.shape[1] == b.shape[0]:
print(a@b)
else:
print('Det går dessverre ikke.')
\ No newline at end of file
import numpy as np
def fyllArray(matrise):
for i in range(matrise.shape[0]):
for j in range(matrise.shape[1]):
matrise[i,j] = int(input(f'Oppgi verdi for koordinat [{i},{j}]]: '))
rader = int(input('Hvor mange rader: '))
kolonner = int(input('Hvor mange kolonner: '))
arr = np.zeros((rader,kolonner))
print(arr)
fyllArray(arr)
print(arr)
\ No newline at end of file
liste = ['a','e','i','o','u','y','æ','ø','å']
streng = 'aeiouyæøå'
# Plukke ut enkelttegn
tegn1 = liste[2]
tegn2 = streng[2]
print(f'{tegn1} {tegn2}')
# Teste med operatoren in
if 'e' in streng:
print('Vokal')
# Konvertere streng til liste
nyliste = list(streng)
print(nyliste)
# slice en streng
print(streng[2:])
\ No newline at end of file
streng = input('Skriv en tekst: ')
bokstav = input('Hvilket tegn skal telles: ')
antall = 0
for element in streng:
if element == bokstav:
antall += 1
antall2 = 0
for i in range(len(streng)):
if streng[i] == bokstav:
antall2 += 1
print(f'Antall av tegnet {bokstav} er {antall}')
print(f'Antall av tegnet {bokstav} er {antall2}')
\ No newline at end of file
import numpy as np
b = [[1,2,3],[3,4,5]]
a = np.array(b)
print(a)
# som 2D-tabell
print(b)
\ No newline at end of file
summ = 0
for i in range(10):
tall = int(input(f'Oppgi tall nr {i+1}: '))
summ += tall
print(f'Summen ble {summ}')
\ No newline at end of file
streng = 'Skriv inn noe her'
print('Bare bokstaver og tall?',streng.isalnum())
print('Bare bokstaver?',streng.isalpha())
print('Bare tall?',streng.isdigit())
print('Bare små bokstaver?',streng.islower())
print('Bare tegn som ikke vises på skjermen?',streng.isspace())
print('Gjør om til stort:',streng.upper())
print('Gjør om til smått:',streng.lower())
\ No newline at end of file
import numpy as np
a = np.array([[1,2,3],[4,5,6],[7,8,9]])
# a = np.zeros((4,2))
# a = np.ones((3,2))
# a = np.full((2,3),5)
# a = np.eye(3)
# a = np.random.random((3,2))
# a = np.arange(15).reshape(3,5)
print(f'{a}\n')
\ No newline at end of file
streng = '\tDette er en streng. \t'
nystreng = 'Dette er en streng. D'
streng1 = streng.lower() # Endrer til små bokstaver.
streng2 = streng.lstrip() # Fjerner whitespace i begynnelsen.
streng3 = nystreng.lstrip('D') # Fjerner D-en først i setningen
streng4 = streng.rstrip() # Fjerner whitespace på slutten.
streng5 = nystreng.rstrip('. D') # Fjerner ". D" sist i setningen
streng6 = streng.strip() # Fjerner whitespace i start og slutt.
streng7 = nystreng.strip('D') # Fjerner "D" i start og slutt.
streng8 = streng.upper() # Endrer til store bokstaver.
print('1:',streng1,'Endret til små bokstaver.')
print('2:',streng2,'\tFjernet whitespace i begynnelsen.')
print('3:',streng3,'\t\tFjernet D-en først i setningen')
print('4:',streng4,'\tFjernet whitespace på slutten.')
print('5:',streng5,'\t\tFjernet ". D" sist i setningen')
print('6:',streng6,'\t\tFjernet whitespace i start og slutt.')
print('7:',streng7,'\t\tFjernet "D" i start og slutt.')
print('8:',streng8,'Endret til store bokstaver.')
\ No newline at end of file
print('Avslutt programmet ved å skrive "stopp"')
svar = input('\nSkriv en tekst: ')
while svar.lower() != 'stopp':
lengde = len(svar)
print(f'Første halvdel er: {svar[:lengde//2]}')
print(f'Annenhver bokstav: {svar[::2]}')
print(f'Baklengs: {svar[-1::-1]}')
print(f'Med store bokstaver: {svar.upper()}')
print(f'Er det bare bokstaver: {svar.isalpha()}')
print(f'Bare tall: {svar.isdigit()}')
print(f'Erstatte "er" med "var": {svar.replace("er","var")}')
svar = input('\nSkriv en tekst: ')
print('\nFerdig')
streng = 'Dette er tekst'
l1 = list(streng)
print(l1)
l2 = streng.split()
print(l2)
l3 = streng.split('e')
print(l3)
\ No newline at end of file
import numpy as np
a = np.arange(4)
#a = np.arange(4,9)
#a = np.arange(10,50,5)
print(a)
\ No newline at end of file
import numpy as np
matrise = np.ones((3,2))
print(f'\n{matrise}\n')
print(f'Matrisens dimensjon er {matrise.ndim}')
print(f'Antall linjer er {matrise.shape[0]} og antall kolonner {matrise.shape[1]}')
print(f'Antall elementer i matrisen er {matrise.size}')
print(f'Matrisen inneholder elementer med datatype {matrise.dtype}')
\ No newline at end of file
import numpy as np
import random
a = np.array([[random.randint(1,10) for i in range(20)]])
b = np.reshape(a,(4,5))
c = np.reshape(a,(2,10))
print(f'\n{a}\n')
print(b,'\n')
print(c)
print(c.dtype)
\ No newline at end of file
def roter_streng(streng, antall):
tmp_streng = ""
for c in streng:
tmp_streng += chr(ord(c) + antall)
return tmp_streng
streng = input("Streng: ")
antall = int(input("Rotasjoner: "))
print(f'{streng} rotert {antall} ganger blir "{roter_streng(streng, antall)}".')
#
def tell_a(streng):
antall = 0
for tegn in streng:
if tegn == 'a':
antall += 1
return antall
streng = input("Streng man skal telles 'a' i:")
print(f'Det er {tell_a(streng)} a i {streng}')
\ No newline at end of file
# Lage en liste med alle tall 0 - 9 ganget med seg selv:
liste = []
for i in range(10):
liste.append(i*i)
print(liste)
# Dette er det samme, bare raskere form:
liste2 = [i*i for i in range(10)]
print(liste2)
# Vi kan legge inn sjekker også - bare oddetall:
liste3 = [i*i for i in range(10) if i % 2]
print(liste3)
\ No newline at end of file
# For å finne ascii-verdien av et tegn: ord('a')
# For å finne tegnet til en ascii-verdi: chr(97)
# Lag en funksjon roter_streng(streng, antall)
# Denne skal returnere en streng der alle tegn er
# forskjøvet antall tegn til høyre. Hvis 2, a -> c
# Skriv funksjonen under her:
def SKRIV_OM_DETTE:
return nokkanokka
# Skriv funksjonen over her:
streng = input("Streng: ")
antall = int(input("Rotasjoner: "))
print(f'{streng} rotert {antall} ganger blir {roter_streng(streng, antall).}')
# Skriv funksjonen tell_a. Den skal returnere hvor
# mange bokstaver i strengen som er 'a'
def tell_a(streng):
# Skriv koden din her!
# ...
return None # endre denne returen, da. ;)
streng = input("Streng man skal telles 'a' i:")
print(f'Det er {tell_a(streng)} a i {streng}')
\ No newline at end of file
# En streng består av tegn, som kan hentes
# ut som elementer i en liste:
streng = "Kapang!"
print("Første tegn:", streng[0])
# Hva skjer hvis du skriver ut streng[len(streng)]?
# print(streng[len(streng)])
# Den kan også slices akkurat som lister:
print("Tre første tegn, baklengs:",streng[2::-1])
# Vi kan gå gjennom tegnene i for-løkker:
for tegn in streng:
print(tegn)
# Vi kan bruke løkke med indeks:
for i in range(len(streng)):
print(streng[i])
# Vi kan samkjøre det med list comprehension:
print([c for c in streng])
# Oppgave: tall forekomster av 'a' i en streng: oppgave_tell_a
# Strenger kan settes sammen:
a = "hei"
b = " på deg"
a += b # Det til høyre for += må finnes allerede!
print(a)
# Merk at strenger er ikke-muterbare. a blir en helt ny streng
# på en ny plass i minnet. Ikke som lister!
# Hvis vi skal sette inn tall må i gjøre det om til en streng:
tall = 42
streng = "Svaret er: "
streng += str(42)
print(streng) # f strings gjør det litt enklere:
streng = "Svaret er: "
print(f'{streng}{tall}')
# Oppgave: Cæsar-rotasjon: oppgave_caesar_rotasjon
# Jeg vil legge inn flere tall på en gang, hvordan gjør man slikt!
streng = "2 4 44 6 43 19"
# få dem inn en liste:
liste = streng.split()
print(liste)
# Men vi må gjøre dem om til tall!
liste2 = [int(i) for i in streng.split()]
print(liste2)
print(list(map(int, streng.split()))) # Denne trenger dere ikke pugge, altså!
# Man kan splitte på hva som helst.
print("trudderudderantan".split('ru')) # Merk at splittestrengen ikke blir med
# Søk i strenger
streng = 'i høstferien stod jeg i tolv timer og brant bål- Hosthost'
print(f"'høst' in streng: {'høst' in streng}")
print("Første 'høst' starter på plass", streng.index('høst')) # Startplassen til første substreng 'høst'
# Strenger har mange operasjoner man kan kjøre på dem: se lysark39.py
# Se også lysark42.py
# Vi kan kjøre replace!
streng = "Dette var en setning som var litt for kor"
streng = streng.replace('var','er')
print(streng) # replace returnerer en ny streng med alle erstattet!
print("Avslutt programmet med å skrive 'stopp'")
svar = ""
while(svar!="stopp"):
svar = input("\n\nSkriv inn tekst: ")
lengde = len(svar)
print("Første halvdel er:",svar[:lengde//2])
print("Annenhver bokstav:",svar[::2])
print("I store bokstaver:",svar.upper())
print("Kun bokstaver?",svar.isalpha())
print("Kun tall?",svar.isdigit())
print("Erstatte 'er' med 'var':",svar.replace("er","var"))
print(f"fancy: {svar.strip().split()}")
print("\nEndelig ferdig med dette tullet, ble nesten gal!")
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment