Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sagemathinc
GitHub Repository: sagemathinc/python-wasm
Path: blob/main/python/pylang/test/loops.py
1396 views
1
# globals: assrt
2
# loop through values, not indices
3
a = ['foo', 'bar', 'baz']
4
for val in a:
5
assrt.ok(val in a)
6
7
for i in range(len(a)):
8
assrt.ok(a[i] in a)
9
10
for i, val in enumerate(a): # testing that comments are allowed here
11
assrt.equal(a[i], val)
12
13
# nesting
14
final = []
15
for i in [1,2]:
16
for j in [4,5,6]:
17
final.push((i,j))
18
assrt.deepEqual(final, [[1,4], [1,5], [1,6], [2,4], [2,5], [2,6]])
19
20
i = 0
21
while i < len(a):
22
assrt.ok(a[i] in a)
23
i += 1
24
25
counter = 5
26
factorial = 1
27
do:
28
factorial *= counter
29
counter -= 1
30
.while counter > 0
31
assrt.equal(factorial, 120)
32
33
# for-in
34
hash = {
35
"foo": 1,
36
"bar": 1,
37
"baz": 1,
38
}
39
i = 0
40
for key in hash:
41
assrt.equal(key, a[i])
42
i += 1
43
44
word = "test"
45
i = 0
46
for letter in word:
47
assrt.equal(letter, word[i])
48
i += 1
49
50
for b in (1, 1):
51
assrt.equal(b, 1)
52
53
for q in range(3):
54
u = q
55
assrt.equal(u, q)
56
for q in range(3):
57
u = q
58
q = 10
59
assrt.equal(u, 2)
60
a = [1,2]
61
for li in range(len(a)):
62
a.pop()
63
assrt.equal(len(a), 0)
64
r = range(3)
65
assrt.deepEqual(list(r), list(r))
66
items = []
67
for outer in r:
68
items.push(outer)
69
for b in r:
70
items.push(b)
71
assrt.deepEqual(items, [0, 0, 1, 2, 1, 0, 1, 2, 2, 0, 1, 2])
72
r = range(3)
73
if jstype(Proxy) is 'function':
74
assrt.equal(r[1], 1)
75
assrt.equal(r[1], 1)
76
assrt.equal(r[2], 2)
77
assrt.equal(r.count(0), 1)
78
assrt.equal(r.count(4), 0)
79
assrt.equal(r.index(1), 1)
80
assrt.throws(def(): r.index(4);, ValueError)
81
82
dest = []
83
for al in 'a', 'b', 'c':
84
dest.push(al)
85
assrt.equal(dest.join(''), 'abc')
86
87