de print()
-function maakt tekstuele output mogelijk,
maar de opmaak laat nog wat te wensen over zoals
je hebt gezien bij de waarheidstabellen
format()
is een functie die wordt toegepast op een string:
count = 100
success = 73
print("P(X) = {} / {} = {}".format(
success, count, success / count))
drukt af: P(X) = 73 / 100 = 0.73
"P(X) = {} / {} = {}"
in het voorbeeld,{}
format()
-functie, count
, success
en (count / success)
in het voorbeeld, worden ingevuld op de plaats van de placeholdersformat()
-functie kun je aanwijzingen geven"P(X) = {2} / {1} = {0}".format(success / count, count, success)
"{:8}|{:8}|{:8}".format("A", "B", "(A or B)")
"{:<8}|{:^8}|{:>8}".format(str(False), str(False), str(False))
"P(X) = {:.0f} / {:.3f} = {:.6f}".format(12, 13, 12 / 13)
In [12]:
count = 4
success = 2
print("P(X) = {2} / {1} = {0}".format(success / count, count, success))
print("{:8}|{:8}|{:8}".format("A", "B", "(A or B)"))
print("{!s:<8}|{!s:^8}|{:>8}".format(False, False, False))
print("P(X) = {:.0f} / {:.3f} = {:.6f}".format(12, 13, 12 / 13))
print("A", "B", "A|B", "A&B", "not A")
for A in [False, True]:
for B in [False, True]:
print(A, B, A or B, A and B, not A)
number
,rbase
,result = ""
number / rbase
,result
:remainder = number % rbase ## % is de modulo operator in Python
result = str(remainder) + result
number
alsnumber / rbase
: number = number // rbase ## // geeft het geheel van de deling
## deze bewerking wordt integer deling genoemd
number > 0
, ga verder bij stap 2,result
het getal in de nieuwe basis
In [13]:
## number system conversion decimal to any
number = 321
rbase = 2
result = ""
while number > 0:
remainder = number % rbase
result = str(remainder) + result
number = number // rbase
print(result)
digits: "0123456789ABCDEF"
index : 111111
0123456789012345
digits = "0123456789ABCDEF"
print(digits[0], digits[3], digits[10], digits[15])
for i in range(0, len(digits), 4):
print(digits[i])
In [17]:
digits = "0123456789ABCDEF"
print(digits[0], digits[3], digits[10], digits[15])
for i in range(0, len(digits), 4):
print(digits[i])
index()
-functie precies het omgekeerde doen: digits = "0123456789ABCDEF"
print(digits.index("0"), digits.index("3"), digits.index("E"), digits.index("F"))
0 3 14 15
index()
-functie zou jenumber
als string,number
, genaamd base
,result = 0
digit
in number
, van achter naar voren,digit
in number
,digit
positie 0 heeft,power
digit
* (base
** power
) op bij result
en voeg het resultaat toe als meest linkse digit aan result
Geef de basis van het originele getal:
16
Geef het getal:
3DB
Geef de gewenste basis:
8
Resultaat: 1703
input()
mass = input("Geef de massa: ")
velocity = input("Geef de snelheid: ")
momentum = mass * velocity
print("Momentum: {}".format(momentum))
mass_txt = input("Geef de massa: ") ## mass_text wordt een string
mass = float(mass_txt) ## mass wordt een float
count_txt = input("Geef het aantal: ")
count = int(count_txt) ## count wordt een int
Schrijf een programma dat het algoritme
uit de slide Talstelsels (3) implementeert,
dat wil zeggen, waarmee een getal uit een willekeurig talstelsel
omgezet kan worden naar een tientallige representatie.
Nu je de programma's hebt om de conversie van een willekeurig talstelsel
naar 10-tallig uit te voeren en tevens de conversie van 10-tallig naar een
willekeurig talstelsel, kun je ze samen gebruiken om van het ene
willekeurige talstelsel, zeg $n$, naar het andere willekeurige talstelsel $m$ te converteren:
$x_n \rightarrow y_{10} \rightarrow z_m$
Schrijf een programma dat een getal in een opgegeven talstelsel kan
converteren naar een ander opgegeven talstelsel. Je kunt de onderstaande code
gebruiken om je programma te beginnen:
org_base = 8
org_number = "4607"
tgt_base = 16
## converteer org_number (basis org_base) naar dec_number (10-tallig),
## converteer dec_number (10-tallig) naar tgt_number (basis tgt_base),
## druk tgt_number af
In [ ]: