Rep 1.1
#Summan av två kastade tärningar
import random
t1=random.randint(1,6)
t2=random.randint(1,6)
print("Ögonsumman blir " + str(t1+t2))
Rep 1.2
#Medlet av inmatade tal
summa=0
antal=0
while True :
try:
n=float(input("n="))
if (n == -1) : break
summa=summa+n
antal=antal+1
print("Medlet=" + str(summa/antal))
except ValueError:
print("Felaktig inmatning")
print("Slut")
Rep 1.3
#Största av inskrivna positiva tal
storst=-1
while True :
try:
n=float(input("n="))
if (n == -1) : break
if storst < n : storst=n
print("Medlet=" + str(summa/antal))
except ValueError:
print("Felaktig inmatning")
print("Största talet var: " + str(storst))
Rep 1.4
(x > 100 or x < 50) and x != 20
Rep 1.5
#Skriver ut talet, kvadraten och kuben för 1-20 i kolumner
for x in range(1, 21) :
print("{:4d}{:6d}{:6d}".format(x, x*x, x*x*x))
Rep 1.6
#Skriver ut positionssiffrorna för ett heltal
tal = input("Skriv ett heltal: ")
nollor=len(tal)-1
#Går igenom tecken för tecken. Lägger till nollor enligt
#position från slutet för att skriva ut vilken plats siffran står på.
for s in tal :
print("1"+"0"*nollor+"-talssiffran är "+str(s))
nollor=nollor-1
Rep 1.7
Uttrycket not (not a and not b) ger samma resultat som a or b
Rep 1.8
#Kontrollerar om ett heltal är ett primtal
import math
a=int(input("Skriv ett positivt heltal: "))
rot=int(math.sqrt(a)) + 1
primtal=True
#Testar att dividera med alla tal upp till roten ur det
#inskrivna talet. Sätter primtal till falskt och hoppar ur om delbart.
for i in range(2, rot) :
if a % i == 0 :
primtal = False
break
#Om primtal fortfarande är sant så har inget tal varit delare.
if primtal : print( str(a) + " är ett primtal")
else : print( str(a) + " är inte ett primtal")
Rep 1.9
#Simulerar sönderfall genom kast av många tärningar.
import random
n = 1000
k = 0
print("Kast Antal")
#Loopar tills tärningarna är slut
while n > 0 :
print("{:3d}{:8d}".format(k, n))
#Kastar alla tärningar som är kvar efter förra omgången
#Tar bort de som slår 6.
for i in range(n) :
if random.randint(1, 6) == 6 :
n=n-1
k = k +1
Rep 1.10
XOR kan skrivas som tex:
(a or b) and not (a and b)
men det snyggaste sättet är:
a != b
Rep 1.11
#Hästkapplöpning med tärningskast. Först till 100
#Version med sammansatta logiska-satser
import random
hast1_position = 0
hast2_position = 0
vinnare=0
#Spelaren väljer häst
while True :
try :
val=int(input("Satsa på häst 1 eller 2: "))
break
except ValueError :
print("Välj 1 eller 2 ")
#Här springer hästarna
print("Tryck enter för nytt tärningskast")
while hast1_position < 100 and hast2_position < 100 :
print("Häst 1 har nått: " + str(hast1_position))
print("Häst 2 har nått: " + str(hast2_position))
hast1_position=hast1_position+random.randint(1,6)
hast2_position=hast2_position+random.randint(1,6)
input() #Tryck enter för varje "tärningskast"
#Vilken häst vann?
if hast1_position < 100 :
vinnare=2
print("Häst 2 vann")
elif hast2_position < 100 :
vinnare=1
print("Häst 1 vann")
else :
print("Lika!")
#Vann spelaren?
if (val == vinnare) :
print("Du vann!")
else :
print("Du förlorade")
Inga kommentarer:
Skicka en kommentar