Valg og funktioner

Filer i IDLE

Herfra skal vi til at lave "rigtige" programmer, der indeholder flere kommandolinier, og så skal vi arbejde med IDLE's IDE.

Vi starter det ved at bruge tastekombinationen Ctrl+n eller bruge menuen File → New File . Herefter åbner der sig et nyt vindue.

_

Så indtaster man sin kode uden de 3 >>> f.eks:

_

Kør programmet

For at køre programmet trykker du på F5.

Første gang du kører det skal du gemme programmet i en fil.

_

Når du klikker på , åbner der sig en filmenu, så du kan gemme din fil.

Jeg anbefaler:

  • At du opretter en mappe til alle dine pythonprogrammer
  • At du opretter undermapper med kapitel navne
  • At du giver programmerne endelsen .py
  • At du navngiver programmerne så man kan læse hvad det gør. F.eks. kap4_if_elif_else_01.py
  • Du må ikke navngive programmet som funktioner programmet. F.eks. print.py
  • Hvis du ved at du skal lave flere programmer med samme indhold, så nummerer filerne, med to cifre. F.eks: 01)
  • Arbejder du med et større program hvor du gerne vil gemme udviklingen, så kan du navngive dem med dato bagerst i formatet år_månede_dag_v*version* f.eks. mit_program_2018_09_04_v01.py

Programmet kører

_

If, elif - else

Ofte har man brug for at ens program skal gøre forskellige ting ved forskellige betingelser. Dette gøres med if-elif-else strukturer.

if

Forestil dig der skal laves et valg mellem om man er en dreng eller pige. Herunder er der lavet et eksempel hvor indtastningen 1 giver en dreng og 2 giver en pige:

Læg mærke til at der er lighedstegn efter hinanden (==). Det bliver vi nød til at gøre fordi python ellers tror at vi opretter en ny variabel

	
valg = int(input("Tast 1 for dreng og 2 for pige: "))
if valg == 1:
    print ("\nDu valgte dreng")
if valg == 2:
    print ("\nDu valgte pige")
	

Herunder vælges 2

Output

	========================= RESTART: /home/tj/test.py =========================
Tast 1 for dreng og 2 for pige: 2

Du valgte pige
>>> 	

Hvad sker der

Når vi spørger med if er syntaksen

	if *** betingelse *** :	

Betingelsen i eksemplet herover er, at variablen valg skal være 1. Læg mærke til, at hele sætningen afsluttes med et kolon - :, og det som skal udføres under det valg er tabuleret ind. På den måde ved Python hvad der skal udføres hvis man har valgt 1 eller 2.

if-else

Ofte arbejder man med binære problemstillinger, altså hvor det er enten-eller. Her anvender man if-else strukturer. Man spørger om den ene betingelse er opfyldt (if), og så må resten nødvendigvis tilhøre den anden mulighed (else).

	valg = int(input("Tast 1 for dreng og 2 for pige: "))

if valg == 1: 
    print ("\nDu valgte dreng")
else:
    print ("\nDu valgte pige")	

Denne kode fungerer ved at den evalurer om valget var 1 eller ej. Fordelen er, at du kan nøjes med at sortere efter den betingelse der er lettest at beskrive - alle de muligheder der er tilbage "falder" automatisk ind under else.

if-elif-else

Problemet er bare, at hvis nu brugeren taster 3, så vil programmet også svare at man valgte pige. Men det var jo en fejltastning. Vi har altså brug for at kunne smide en ekstra mulighed ind. Det kan vi gøre ved hjælp af at tilføje elif imellem if og else.

	valg = int(input("Tast 1 for dreng og 2 for pige: "))

if valg == 1: 
    print ("\nDu valgte dreng")
elif valg == 2:
    print ("\nDu valgte pige")
else:
    print ("Du skal vælge enten 1 eller 2")	

Det som koden gør nu er:

  1. Beder brugeren om et input
  2. Hvis det er 1 svarer den med "Du valgte dreng" (if).
  3. Hvis det er 2 svarer den med "Du valgte pige" (elif).
  4. Hvis det hverken er 1 eller 2, så"svarer Python med "Du skal vælge enten 1 eller 2" (else).

Læg mærke til, at der skal anvendes en fast struktur. elif anvendes kun hvis der er mere end 2 betingelser der skal undersøges. Generelt kan disse betingelser skrives op på følgende formel

	if *Betingelse*:
    *Gør noget*
elif *Ny betingelse*:
    *Gør noget andet*
else: 
    *Gør noget tredie	

Man kan indsætte alle de elif man vil, men man skal huske at der bør afsluttes med else.

Opgaver

I disse opgaver skal du bruge if-/elif-/elsestrukturer, sammen med operatorer. Der er et overblik over operatorerne herunder.

Overblik over operatorer
Operator Beskrivelse Eksempel
== Lig med 5 == 8 → falsk
> større end 5 > 8 → falsk
< mindre end 5 < 8 → sand
>= Større end eller lig med 5 >= 8 → falsk
<= Mindre end eller lig med 5 <= 8 → sand
!= Ikke lig med 5 != 8 → sand
is Identisk med 5 is "5" → falsk
is not Ikke identisk med 5 is not "5" → sand
x and y Både x og y skal være sand x=6 ; y=3

(x < 10 and y > 1) → sand
x or y Kun en behøver at være sand x=6 ; y=3

(x == 6 or y == 1) → sand

Er du myndig?

Lav en kode der undersøger om man er myndig eller ej (18+)

Pendlerkort

Lav en kode der undersøger om personen hos DSB er berettiget til et ungdomskort (under 20), et pensionistkort (over 65) eller skal købe en almindelig billet.

  • Under 20 → ungdomskort
  • 20-64 → almindeligt
  • 65-110 → Pensionistkort
  • 110+ → Spøgelser betaler ikke billetter

Er det fredag?

På hjemmesiden http://www.erdetfredag.dk/ får du at vide om det er fredag. Lav en lignende kode, hvor svarene er:

  • Hvis Fredag → YES det er fredag!
  • Hvis Lørdag og Søndag → Nej... Men det er weekend!
  • Ellers → Nope .... :(

HINT: For at få det til lykkes skal du importere modulet strftime fra pakken time. Ved hjælp af den kan man finde:

Overblik over strftime()
Dato
%u dag i ugen (mandag=1, søndag=7)
%V Ugenr: 00-53 (ISO 8601)
%d Hvilken dag i måneden
%m Månede
%y Årstal - 2 cifre (17)
%Y Årstal - 4 cifre (2017)
%D Dato (Måned/dag/år)
Tid
%H Timetal (0-24)
%M Minuttal
%S Sekundtal
%R Klokken (timer:minutter)
%T klokken (timer:minutter:sekunder)

Eksempel på strftime() kørt på en onsdag:

	>>> from time import strftime
>>> strftime("%u")
'3'

Se fuldliste her: https://www.tutorialspoint.com/python/time_strptime.htm

Ændr. koden så den fortæller hvor mange dage der er til fredag.

Hvornår har du fri

Lav en kode der fortæller hvor mange timer og minutter der er til du har fri, for hver dag i ugen.

X in Y

Ofte har man brug for at finde ud af om en tekststreng findes i en sætning, f.eks. om et navn er nævnt i en sætning. Det kan man gøre ved at bruge in. Det får programmet til at svarer tilbage med enten True eller False. Dette enten/eller svar kaldes på progammeringssprog for "boolean". Lad os afprøve det herunder.

"Der findes mange programmeringssprog, og de kan stort set det samme. Men de gør den på en forskellig måde. C er et meget præcist, men også meget omstændigt sprog, hvorimod Python er noget lettere at gå til."

Lad os undersøge denne sætning for følgende tekst: Python, C og Java.

	tekst = "Der findes mange programmeringssprog, og de kan stort set det samme. Men de gør den på en forskellig måde. C er et meget præcist, men også meget omstændigt sprog, hvorimod Python er noget lettere at gå til."

prg_python = "Python" in tekst
prg_c = "C" in tekst
prg_java = "Java" in tekst

print ("Findes Python i sætningen: {0}".format(prg_python))
print ("Findes C i sætningen: {0}".format(prg_c))
print ("Findes Java i sætningen: {0}".format(prg_java))	

Output

	========================= RESTART: /home/tj/test.py =========================
Findes Python i sætningen: True
Findes C i sætningen: True
Findes Java i sætningen: False
>>> 	

Opgaver

Ord i tekst 1

Ændr opgaven så du ved hjælp af et input kan få svar på om et ord findes i tekstrengen

Indsæt et større tekst fra nettet og lav søgninger på ord i denne tekst ved hjælp af et brugerinput.

Try

Med denne metode får man Python til at teste noget og reagere hvis der kommer en fejl. Forestil dig at du vil teste om a er et heltal (int).

	>>> a = "k"
int(a) 	

Python vil svare tilbage med følgende fejlmeddelelse, fordi programmet ikke kan konvertere bogstavet a til et heltal.

Output

Traceback (most recent call last):
  File "test4.py", line 3, in <module>
    int(a)
ValueError: invalid literal for int() with base 10: 'k'

For at undgå den slags fejl, der får programmet til at bryde sammen, anvender man try. Se herunder:

	a = "k"

try:
	int(a)
	print("Variablen a er et heltal")
except:
	print("Variablen a er ikke et heltal")	

Output

	========================= RESTART: /home/tj/test.py =========================
Variablen a er ikke et heltal
>>> 	

Denne gang går vi ind og undersøger om a er et helttal ved at sætte det ind under try:. Hvis koden på et eller andet tidspunkt fejler under try:, så vil programmet hoppe til except: delen og udføre denne, i stedet for at bryde sammen.

Herunder kan du se resultatet når a = 2:

Output

	========================= RESTART: /home/tj/test.py =========================
Variablen a er et heltal
>>> 	

Raise Exception

Nogle gange har man brug for at koden skal lave fejl, når man tester den. Det gøres ved at anvende koden: raise Exception

	try:
	raise Exception
except:
	print("Der er fejl i koden")	

Output

	========================= RESTART: /home/tj/test.py =========================
Der er fejl i koden	

Murphy's lov

Som programmør skal man prøve at forudse den slags problemer, for man skal huske på Murphy's lov:

Hvis noget kan gå galt, så vil det gå galt

Funktioner

Ofte har man behov for at noget skal udføres gentagne gange. Det kan f.eks. være at udskrive et logo, eller en if-else struktur der skal køres ofte. Her anvender man funktioner, så man kan skrive koden en gang, men "kalde" på den lige så ofte man vil.

Lad os prøve at lave et simpelt eksempel med funktionen produkt(), som udregner produktet af parametrene a,b.

	def produkt(a,b):
	produkt = a*b
	print("\nProduktet er {0}".format(produkt))
	
produkt(2,3) # skal give svaret "Produktet er 6"
produkt(3,4) # skal give svaret "Produktet er 12"
	

Output

	========================= RESTART: /home/tj/test.py =========================

Produktet er 6

Produktet er 12	

Det som du skal være opmærksom på er:

  • Den første linie skal starte med def og afsluttes med :
  • Selve funktionen skal afsluttes med parantes indeholdende parametre (her produkt(a,b))
  • Det som hører under funktione skal være rykket ind under den
  • Funktionen anvendes ved at skrive funktionsnavnet og angive de parametre den skal anvende.

Tomme funktioner

Man kan også lave tomme funktioner, som ikke er styret af en eller flere parametre. Forestil dig at du gang på gang i din kode skal have det samme output, f.eks. dine grundinformatiner

	def tekst():
	
	print("Denne software er lavet af : \n\tThomas Jensen \n\tfakeuser@fakemail.dk")
	
tekst()	

Output

	========================= RESTART: /home/tj/test.py =========================
Denne software er lavet af : 
	Thomas Jensen 
	fakeuser@fakemail.dk	

Funktioner med parametre

Forestil dig en situation hvor vi skal have en blæser til at tænde når temperaturen overstiger et vist gradtal. I eksemplet herunder angiver vi selv temperaturen, men temperaturen kunne lige så godt have kommet fra en aflæsning af et digitalt termometer. Vi sætter a til at være rummets temperatur og b til at være den temperatur der skal til for at tænde blæseren.

	def turn_on (a,b):
    if a > b:	
        return True
	
rum_temp = 19 # rummets temperatur
tænd_temp = 18 # Tændningstemperaturen

if turn_on(rum_temp,tænd_temp) is True:
    #Udfør kommandoer hvis den skal tændes
    print ("tænd") #kommandoen der tænder for blæseren
else:
    #Udfør kommandoer hvis den skal slukkes
	print ("Sluk") #kommandoen der slukker for blæseren	

Output

	========================= RESTART: /home/tj/test.py =========================
tænd	

Ved at angive to konstanter i funktionen kan vi "kalde" parametre fra koden ind i funktionen. På den måde kan vi lave funktioner der er meget fleksible.

Variabler i funktioner

Variabler der er lavet i funktioner, gælder kun i selve funktionen.

Det er smart fordi manså kan kopierer definitioner ind i sit dokument uden at bekymre sig om de indeholder variabel navne der allerede er i anvendelse

Hvis man skal bruge en variabel der bliver dannet i en funktion skal den gøres global. Det gøres på følgende måde:

	def skriv_tal():
	
	valgt_tal=int(input("Skriv et tal: "))
	global dobbelt_a #Her gøres variablen dobbelt_a global
	dobbelt_a=valgt_tal*2
	
skriv_tal()
print ("Det fordoblede tal er: {0}".format(dobbelt_a))	

Output

	========================= RESTART: /home/tj/test.py =========================
Skriv et tal: 5
Det fordoblede tal er: 10	

Prøv at fjerne linien global dobbelt_a og undersøg fejlmeddelelsen.

Return i funktioner

Return er en funktion der leverer et output. HVis det er et binært output - dvs. det kun har to muligheder så anvender man True / False. Det gør det tydeligt at koden kun har to udfald.

Har man brug for mere end to return værdier, kan man selv angive dem med enten en talværdi eller en tekstreng

Det smarte ved funktioner er at man kan få dem til at svare med True / False, en værdi eller tekstreng. Det gøres ved at bruge return.

Se eksemplet herunder:

	def test_tabel(a,b): # a er tallet der undersøges, be er tabellen.
	if a%b==0: 	# spørger om a er i b tabellen
		return True
	else:
		return False
	
print(test_tabel(17,2)) #Printer resultat af funktionen

Output

	========================= RESTART: /home/tj/test.py =========================
False	

Opgaver

Til disse opgaver skal du anvende matematik.

Generelle regneregler

Regningsarterne fungerer ved at anvende tegnene: +, -, * og /. Se herunder:

	>>> 6+3
9
>>> 6-3
3
>>> 6*3
18
>>> 6/3
2.0	

Læg mærke til at der bliver anvendt int i alle eksemplerne, og at resultatet bliver leveret på samme måde ved +, - og *. Men ved division bliver resulatet ændret til float. Se nedestående eksempel

	>>> 2/3
0.6666666666666666	

Python anvender korrekte regneregler, hvilket vil sige at + og - adskiller ledene, og at de skal sættes paranteser for at omgå dette. Se eksemplerne herunder:

	>>> 3+2*6
15
>>> (3+2)*6
30
>>> 3+6/2
6.0
>>> (3+6)/2
4.5		

Læg mærke til at tallene bliver til float, når man dividerer.

Er det en faktor

Til denne opgave skal du anvende modulus og floordivision

Brug af modulus og floor division

For at finde restværdien og heltallet af en division anvender man henholdsvis % (modulus) og // (floordivision).

Funktion Tegn Beskrivelse Eksempel
modulus % Returnere resten efter division 9%5 = 4
floor division // Returnerer heltallet efter division 9//5 = 1
Anvendelse

modulus og floor division virker i første omgang lidt underlige, men har en masse praktiske anvendelser. F.eks:

  • Hvis noget skal ske hver tredie gang: x%3 = 0
  • Antal fyldte ølkasser: *antal flasker* // 30

Lav funktionen Factor(a,b) der undersøger om a er en faktor i b. Undersøg følgende to tilfælde:

  • faktor(10,5) → Ja
  • faktor(3097,37) → Nej

Lav et output der ligner nedestående:

Output

	========================= RESTART: /home/tj/test.py =========================
Undersøger om 2 er en faktor i 10.
2 er en faktor i 10.

Undersøger om 37 er en faktor i 3097.
37 er ikke en faktor i 3097.	

Skæring med X aksen

Lav funktionen skæring_x(a,b), der udregner skæringspunktet med x-aksen ud fra ligningen \( f(x) = ax+b \), og hvor den skærer y-aksen.

Altså hvor:

$$ x = \frac{ -b }{ a } $$
Udledning af formel
$$ ax+b = 0 \\ \Updownarrow \\ ax = -b \\ \Updownarrow \\ x = \frac{ -b }{ a } $$

Test din kode med linjerne:

  • 2x+2 skæring_x(2,2) -1.0
  • 2x-2 skæring_x(2,-2) 1.0

Output

	========================= RESTART: /home/tj/test.py =========================
Linjen skærer x-aksen i værdien -1.0
Linjen skærer x-aksen i værdien 1.0	

Ændr koden så heltal ikke udskrives som decimaltal, men som integers. Du skal bruge funktionen is_integer()

Brug af is_integer()

is_integer() undersøger om et tal af typen float, hvis det er returnerer funktionen et True.

		>>> a = 3.14
>>> a.is_integer()
False
>>> a = 2.0
>>> a.is_integer()
True
	

Det betyder at man kan undersøge om et tal skal laves om til en integer:

		a = 3.14
b = 2.0

if a.is_integer():
	a = int(a)	
if b.is_integer():
	b = int(b)

print(a)
print(b)		
	

Output

	========================= RESTART: /home/tj/test.py =========================
3.14
2	
  • 2x+2 skæring_x(2,2) -1
  • 2x-2 skæring_x(2,-2) 1

Output

	========================= RESTART: /home/tj/test.py =========================
Linjen skærer x-aksen i værdien -1
Linjen skærer x-aksen i værdien 1	

Find normalform

Lav funktionen normalform(a,b,c,d), der udskriver den linie der kører igennem de to punkter \( P = (a,b) \) og \( Q = (c,d) \).

Funktionen skal udskrive linien på formen: \( y = ax + b \)

Altså hvor

$$ a=\frac{ y_2-y_1 }{ x_2-x_1 } $$
og
$$ b=y_1-ax_1 $$

Test din kode med funktionerne:

  • P = (2,6) og Q = (5,12) punkter(2,6,5,12) y = 2.0x+2.0
  • P = (2,2) og Q = (-1,-4) punkter(2,2,-1,-4) y = 2.0x-2.0

Output

	========================= RESTART: /home/tj/test.py =========================
Punkterne P=(2,6) og Q=(5,12) gennemskæres af linjen: y = 2.0x+2.0

Punkterne P=(2,2) og Q=(-1,-4) gennemskæres af linjen: y = 2.0x-2.0	

Ændr koden så heltal ikke udskrives som decimaltal, men som integers. Du skal bruge funktionen is_integer()

Test din kode med funktionerne:

  • P = (2,6) og Q = (5,12) punkter(2,6,5,12) y = 2x+2
  • P = (2,2) og Q = (-1,-4) punkter(2,2,-1,-4) y = 2x-2

Output

	========================= RESTART: /home/tj/test.py =========================
Punkterne P=(2,6) og Q=(5,12) gennemskæres af linjen: y = 2x+2


Punkterne P=(2,2) og Q=(-1,-4) gennemskæres af linjen: y = 2x-2	

Skæring mellem to linier:

Lav funktionen skaering(a,b,c,d), der udregner skæringspunktet med x-aksen ud fra ligningen \( f(x) = ax+b \), og \( g(x) = cx+d \).

Altså hvor:

$$ x= \frac{ d-b }{ a-c } $$
Udledning af formel
$$ ax+b=cx+d \\ \Updownarrow \\ ax-cx = d - b \\ \Updownarrow \\ x(a-c)=d-b \\ \Updownarrow \\ x= \frac{ d-b }{ a-c } $$

Test din kode med linierne:

  • \( y = 2x-3 \) og \( y = -\frac{ 1 }{ 3 }x+4 \) skæring(2,-3,-1/3,4) P = (3.0,3.0)
  • \( y = \frac{ 1 }{ 2 }x-3 \) og \( y = -1\frac{ 1 }{ 2 }x+3 \) skæring(1/2,-3,-1.5,3) P = (3.0,-1.5)
	========================= RESTART: /home/tj/test.py =========================
Linjerne skærer hinanden i punktet: P = (3.0,3.0)

Linjerne skærer hinanden i punktet: P = (3.0,-1.5)	

Ændr koden så heltal ikke udskrives som decimaltal, men som integers. Du skal bruge funktionen is_integer()

	========================= RESTART: /home/tj/test.py =========================
Linjerne skærer hinanden i punktet: P = (3,3)

Linjerne skærer hinanden i punktet: P = (3,-1.5)	

Andengradsligning

Til denne opgave skal du anvender kvadrarødder og potenser

Brug af kvadratrødder og potenser

For at finde potens tal og rødder anvendes funktionen pow(a,b), hvor a er grundtallet og b er potensen. Se nedestående eksempler:

Matematisk udtryk Python funktion
\( a^b \) pow(a,b)
\( \sqrt[b]{a} = a^{\frac{ 1 }{ b }} \) pow(a,1/b)

Det anbefales at man anvender funktionen pow() fremfor **. Det gør koden mere læselig.

Eksempler med \( 2^4 \) og \( \sqrt{4} \):

	>>> pow(2,4) 
	16
	>>> pow(4,1/2)
	2.0

Lav funktionen andengrad(a,b,c) der udregner parablens skæring(er) med x-aksen ud fra normalformen på en andegradsligning: \( ax^2 + bx + c \). Anvend formlerne herfra: ../matematik/andengradsfunktion.html

Output skal fortælle:

  • ... om parablens ben vender op eller ned
  • ... hvor mange skæringer der er med x-aksen
  • ... hvor den skærer y og x-aksen
  • ... hvad toppunktet er
  • ... der må kun stå et fortegn for hvert led (altså ikke +-

Test din kode med funktionerne:

  • \( f(x) = x^2 + 4x +4 \) andengrad(1,4,4)
  • \( f(x) = -x^2 - x + 6 \) andengrad(-1,-1,6)

Du skal lave om til integers, hvis det er muligt og programmet skal have følgende udskrift:

	========================= RESTART: /home/tj/test.py =========================
Her undersøges funktionen: f(x) = 1x^2 + 4x + 4

	Andegradsliningen har en løsning og skærer x-aksen i punktet -2

	Parablens ben vender opad

	Parablen skærer y-aksen i punktet 4

	Toppunktet er: Tp = ( -2 , 0 )


Her undersøges funktionen: f(x) = -1x^2 - 1x + 6

	Andegradsligningen har 2 løsninger og skærer x-aksen i punkterne -3 og 2

	Parablems ben vender nedad

	Parablen skærer y-aksen i punktet 6

	Toppunktet er: Tp = ( -0.5 , 6.25 )	

Random

Ofte har man brug for at computeren skal kunne levere et tilfældigt tal. Det kan feks. være hvis computeren skal udvælge et element i en liste eller skal simulere terningkast. For at kunne anvende Random skal det først importeres, hvorefter vi får adgang til dets funktioner. Den væsentligste forskel ligger i hvordan det bliver præsenteret i koden. Lad os se på det første eksempel:

	
from random import random, randrange

tilfældigtal = random() # giver et tilfældig tal i området [0;1]

terningkast = randrange(1,7) # Giver et tilfældigt heltal i området [1;7[ - altså 1,2,3,4,5,6

print ("Et tilfældigt tal: {0}".format(tilfældigtal))
print ("\nEt terningkast: {0}".format(terningkast))
	
Import af moduler og funktioner

I dette eksempel importeres enkelt elementerne fra modulet. Det gør at vi kan kalde modulets funktioner direkte i vores kode. Dvs. for at kunne lave et random tal skal vi blot angive random().

Hvis vi blot importerer modulet skal vi hver gang vi anvender noget fra modulet angive både modulets navn og funktion (random.random()).

		
	import random

	tilfældigtal = random.random()
	terningkast = random.randrange(1,7)
		
	

Begge metoder har deres fordele. Fordelen ved at importere de enkelte moduler hver for sig er, at man i koden kan kalde den konkrete funktion uden at skulle skrive modulets navn først, samt at alle anvendte funktioner står i toppen af dokumentet. Fordelen ved at kalde hele funktionen er, at man i koden kan se når funktioner kaldes fra moduler. Du skal vælge ud fra hvad der giver dig det bedste overblik.

Hvis du senere skal kompilere koden er der en anden overvejelse du skal gøre dig. Hvis du vælger kun at importere elementer fra et modul, så er det kun dem du tager med i det endelige program. Det kan få betydning for programmets størrelse og hastighed.

Hvis du får fejlen : cannot import name 'random', skyldes det, at du har en anden fil på computeren der hedder random.py:

Har du kaldt filen python.py, skal du omdøbe den og fjerne den gamle fil fra computeren.

Opgaver

Terningspil 1

Lav et program hvor man skal spille terning mod computeren, og hvor den største værdi vinder.

  • Terningen bliver kastet 1 gang
  • Brugeren skal kunne indtaste sit navn
  • Output skal være om computer eller bruger er vinder eller at der er uafgjort

Output

Output

	========================= RESTART: /home/tj/test.py =========================
Hvad er dit navn: Thomas

Thomas: 4
Computer: 4

Det blev uafgjort	

Ordsprog

Lav et program der ved hjælp af random() udskriver et ud af mindst 4 forskellige ordsprog.