mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-19 19:10:17 +00:00
update test
This commit is contained in:
parent
cb094331e7
commit
809fd8dd8c
61
tests/01_int.py
Normal file
61
tests/01_int.py
Normal file
@ -0,0 +1,61 @@
|
||||
# test int literals
|
||||
assert 0xffff == 65535
|
||||
assert 0xAAFFFF == 11206655
|
||||
assert 0x7fffffff == 2147483647 # will fail on 32-bit systems
|
||||
|
||||
# test == != >= <= < >
|
||||
assert -1 == -1
|
||||
assert -1 != 1
|
||||
assert -1 >= -1
|
||||
assert -1 <= -1
|
||||
assert -1 < 1
|
||||
assert -1 > -2
|
||||
|
||||
# test + - * % ** //
|
||||
assert -1 + 1 == 0
|
||||
assert -1 - 1 == -2
|
||||
assert 4 * -1 == -4
|
||||
assert 5 % 2 == 1
|
||||
assert 2 ** 3 == 8
|
||||
assert 4 // 2 == 2
|
||||
assert 5 // 2 == 2
|
||||
|
||||
# test += -= *= //=
|
||||
x = 3
|
||||
x += 1
|
||||
assert x == 4
|
||||
x -= 1
|
||||
assert x == 3
|
||||
x *= 2
|
||||
assert x == 6
|
||||
x //= 2
|
||||
assert x == 3
|
||||
|
||||
# test __str__, __repr__, __json__
|
||||
assert str(1) == '1'
|
||||
assert repr(1) == '1'
|
||||
assert (1).__json__() == '1'
|
||||
|
||||
# test int()
|
||||
assert int(1) == 1
|
||||
assert int(1.0) == 1
|
||||
assert int(1.1) == 1
|
||||
assert int(1.9) == 1
|
||||
assert int(-1.9) == -1
|
||||
assert int(1.5) == 1
|
||||
assert int(-1.5) == -1
|
||||
assert int("123") == 123
|
||||
|
||||
# test >> << & | ^
|
||||
assert 12 >> 1 == 6
|
||||
assert 12 << 1 == 24
|
||||
assert 12 & 1 == 0
|
||||
assert 12 | 1 == 13
|
||||
assert 12 ^ 1 == 13
|
||||
|
||||
# test high precision int pow
|
||||
assert 7**21 == 558545864083284007
|
||||
assert 2**60 == 1152921504606846976
|
||||
assert -2**60 == -1152921504606846976
|
||||
assert 4**13 == 67108864
|
||||
assert (-4)**13 == -67108864
|
47
tests/02_float.py
Normal file
47
tests/02_float.py
Normal file
@ -0,0 +1,47 @@
|
||||
def eq(a, b):
|
||||
dt = a - b
|
||||
return dt > -0.001 and dt < 0.001
|
||||
|
||||
# test == != >= <= < >
|
||||
assert 1.0 == 1.0
|
||||
assert 1.0 != 1.1
|
||||
assert 1.0 >= 1.0
|
||||
assert 1.0 <= 1.0
|
||||
assert 1.0 < 1.1
|
||||
assert 1.1 > 1.0
|
||||
|
||||
# test + - * ** /
|
||||
assert eq(1.5 + 3, 4.5)
|
||||
assert eq(1.5 + 3.9, 5.4)
|
||||
assert eq(5.3 - 2.5, 2.8)
|
||||
assert eq(0.2**2, 0.04)
|
||||
assert eq(4**(-1.0), 0.25)
|
||||
assert eq(2/1, 2.0)
|
||||
assert eq(3/2.0, 1.5)
|
||||
assert eq(1/9, 0.11111)
|
||||
|
||||
# test += -= *= /=
|
||||
x = 3.0
|
||||
x += 1
|
||||
assert eq(x, 4.0)
|
||||
x -= 1
|
||||
assert eq(x, 3.0)
|
||||
x *= 2
|
||||
assert eq(x, 6.0)
|
||||
x /= 1.8
|
||||
assert eq(x, 3.3333)
|
||||
|
||||
# test __str__, __repr__
|
||||
assert str(1.0) == '1.0'
|
||||
assert repr(1.0) == '1.0'
|
||||
|
||||
# test float()
|
||||
assert eq(float(1), 1.0)
|
||||
assert eq(float(1.0), 1.0)
|
||||
assert eq(float(1.1), 1.1)
|
||||
assert eq(float(1.9), 1.9)
|
||||
assert eq(float(-1.9), -1.9)
|
||||
assert eq(float(1.5), 1.5)
|
||||
assert eq(float(-1.5), -1.5)
|
||||
assert eq(float("123"), 123.0)
|
||||
assert eq(float("123.456"), 123.456)
|
25
tests/03_bool.py
Normal file
25
tests/03_bool.py
Normal file
@ -0,0 +1,25 @@
|
||||
# test == !=
|
||||
assert True == True
|
||||
assert True != False
|
||||
assert False == False
|
||||
assert False != True
|
||||
|
||||
# test and/or/not
|
||||
assert True and True
|
||||
assert not (True and False)
|
||||
assert True or True
|
||||
assert True or False
|
||||
assert not False
|
||||
assert not (not True)
|
||||
|
||||
assert bool(0) == False
|
||||
assert bool(1) == True
|
||||
assert bool([]) == False
|
||||
assert bool("abc") == True
|
||||
assert bool([1,2]) == True
|
||||
assert bool('') == False
|
||||
|
||||
# test ?:
|
||||
a = 5
|
||||
assert ((a > 3) ? 1 : 0) == 1
|
||||
assert ((a < 3) ? 1 : 0) == 0
|
73
tests/04_str.py
Normal file
73
tests/04_str.py
Normal file
@ -0,0 +1,73 @@
|
||||
assert 'testing' == 'test' + 'ing'
|
||||
assert 'testing' != 'test' + 'ing2'
|
||||
assert 'testing' < 'test' + 'ing2'
|
||||
assert 'testing5' > 'test' + 'ing1'
|
||||
|
||||
# test + *=
|
||||
assert 'abc' + 'def' == 'abcdef'
|
||||
assert 'abc' * 3 == 'abcabcabc'
|
||||
|
||||
a = ''
|
||||
b = 'test'
|
||||
c ='test'
|
||||
assert len(a) == 0
|
||||
assert len(b) == 4
|
||||
assert b == c
|
||||
|
||||
# upper and lower not work for utf-8
|
||||
# assert ''.lower() == '' and ''.upper() == ''
|
||||
# assert 'already+lower '.lower() == 'already+lower '
|
||||
# assert 'ALREADY+UPPER '.upper() == 'ALREADY+UPPER '
|
||||
# assert 'tEST+InG'.lower() == 'test+ing'
|
||||
# assert 'tEST+InG'.upper() == 'TEST+ING'
|
||||
|
||||
s = "football"
|
||||
q = "abcd"
|
||||
r = "zoo"
|
||||
t = "this is string example....wow!!!"
|
||||
assert s[0] == 'f'
|
||||
assert s[1:4] == 'oot'
|
||||
assert s[:-1] == 'footbal'
|
||||
assert s[:10] == 'football'
|
||||
assert s[-3] == 'a'
|
||||
assert t[-5:] == 'ow!!!'
|
||||
assert t[3:-3] == 's is string example....wow'
|
||||
assert s > q;assert s < r
|
||||
assert s.replace("foo","ball") == "balltball"
|
||||
assert s.startswith('f') == True;assert s.endswith('o') == False
|
||||
assert t.startswith('this') == True;
|
||||
|
||||
|
||||
assert t.split('w') == ['this is string example....', 'o', '!!!']
|
||||
assert "a,b,c".split(',') == ['a', 'b', 'c']
|
||||
assert 'a,'.split(',') == ['a', '']
|
||||
assert 'foo!!bar!!baz'.split('!!') == ['foo', 'bar', 'baz']
|
||||
|
||||
t = "*****this is **string** example....wow!!!*****"
|
||||
s = "123abcrunoob321"
|
||||
assert t.strip( '*' ) == "this is **string** example....wow!!!"
|
||||
assert s.strip( '12' ) == "3abcrunoob3"
|
||||
|
||||
assert t.strip( '*' ) == "this is **string** example....wow!!!"
|
||||
assert s.strip( '12' ) == "3abcrunoob3"
|
||||
|
||||
s = ' asd\n asd \n'
|
||||
assert s.strip() == 'asd\n asd'
|
||||
|
||||
s1 = "-"
|
||||
s2 = ""
|
||||
seq = ["r","u","n","o","o","b"]
|
||||
assert s1.join( seq ) == "r-u-n-o-o-b"
|
||||
assert s2.join( seq ) == "runoob"
|
||||
|
||||
def test(*seq):
|
||||
return s1.join(seq)
|
||||
assert test("r", "u", "n", "o", "o", "b") == "r-u-n-o-o-b"
|
||||
|
||||
def f():
|
||||
for i in range(5):
|
||||
yield str(i)
|
||||
assert '|'.join(f()) == '0|1|2|3|4'
|
||||
|
||||
num = 6
|
||||
assert str(num) == '6'
|
65
tests/05_list.py
Normal file
65
tests/05_list.py
Normal file
@ -0,0 +1,65 @@
|
||||
# generate assert test for list
|
||||
|
||||
assert [1, 2, 3] == [1, 2, 3]
|
||||
assert [1, 2, 3] != [1, 2, 4]
|
||||
|
||||
# test + *=
|
||||
assert [1, 2, 3] + [4, 5, 6] == [1, 2, 3, 4, 5, 6]
|
||||
assert [1, 2, 3] * 3 == [1, 2, 3, 1, 2, 3, 1, 2, 3]
|
||||
|
||||
l = [1,2,3,4]
|
||||
assert l[2] == 3
|
||||
assert l[-1] == 4
|
||||
assert l[:32] == [1,2,3,4]
|
||||
assert l[32:] == []
|
||||
assert l[1:4] == [2,3,4]
|
||||
assert l[-1:-3] == []
|
||||
assert l[-3:-1] == [2,3]
|
||||
|
||||
l = (1,2,3,4)
|
||||
assert l[2] == 3
|
||||
assert l[-1] == 4
|
||||
assert l[:32] == (1,2,3,4)
|
||||
assert l[32:] == tuple([])
|
||||
assert l[1:4] == (2,3,4)
|
||||
assert l[-1:-3] == tuple([])
|
||||
assert l[-3:-1] == (2,3)
|
||||
|
||||
l1 = [1];l2 = l1;l1.append(2);l3 = [1,1,2]
|
||||
assert l2[1] == 2
|
||||
assert l1 == l2
|
||||
assert l1*3 == [1,2,1,2,1,2]
|
||||
assert l3.count(1) == 2
|
||||
|
||||
member = ['Tom', 'Sunny', 'Honer', 'Lily']
|
||||
teacher = [1,2,3]
|
||||
assert len(member + teacher) == 7
|
||||
assert member[0] == 'Tom'
|
||||
assert member[-2] == 'Honer'
|
||||
assert member[0:3] == ['Tom', 'Sunny', 'Honer']
|
||||
|
||||
member.remove('Sunny')
|
||||
assert member == ['Tom', 'Honer', 'Lily']
|
||||
member.pop()
|
||||
assert member == ['Tom', 'Honer']
|
||||
del member[0]
|
||||
assert member == ['Honer']
|
||||
member.append('Jack')
|
||||
assert member == ['Honer','Jack']
|
||||
member.extend(teacher)
|
||||
assert member == ['Honer','Jack',1,2,3]
|
||||
member.insert(1,'Tom')
|
||||
assert member == ['Honer','Tom','Jack',1,2,3]
|
||||
member.clear()
|
||||
assert member == []
|
||||
member = teacher.copy()
|
||||
assert member == [1,2,3]
|
||||
|
||||
l = []
|
||||
l.insert(0, 'l')
|
||||
l.insert(1, 'l')
|
||||
l.insert(0, 'h')
|
||||
l.insert(3, 'o')
|
||||
l.insert(1, 'e')
|
||||
assert l == ['h', 'e', 'l', 'l', 'o']
|
||||
assert l[-2] == 'l'
|
8
tests/06_tuple.py
Normal file
8
tests/06_tuple.py
Normal file
@ -0,0 +1,8 @@
|
||||
tup = ('Google', 'Runoob', 'Taobao', 'Wiki', 'Weibo','Weixin')
|
||||
a,b = 1,2
|
||||
assert a == 1
|
||||
assert b == 2
|
||||
a,b = b,a
|
||||
assert a == 2
|
||||
assert b == 1
|
||||
assert len(tup) == 6
|
36
tests/07_dict.py
Normal file
36
tests/07_dict.py
Normal file
@ -0,0 +1,36 @@
|
||||
emptyDict = dict()
|
||||
assert len(emptyDict) == 0
|
||||
tinydict = {'Name': 'Tom', 'Age': 7, 'Class': 'First'}
|
||||
assert tinydict['Name'] == 'Tom';assert tinydict['Age'] == 7
|
||||
tinydict['Age'] = 8;tinydict['School'] = "aaa"
|
||||
assert tinydict['Age'] == 8;assert tinydict['School'] == "aaa"
|
||||
del tinydict['Name']
|
||||
assert len(tinydict) == 3
|
||||
tinydict.clear()
|
||||
assert len(tinydict) == 0
|
||||
|
||||
dict1 = {'user':'circle','num':[1,2,3]}
|
||||
dict2 = dict1.copy()
|
||||
for k,v in dict1.items():
|
||||
assert dict2[k] == v
|
||||
|
||||
tinydict = {'Name': 'circle', 'Age': 7}
|
||||
tinydict2 = {'Sex': 'female' }
|
||||
tinydict.update(tinydict2)
|
||||
updated_dict = {'Name': 'circle', 'Age': 7, 'Sex': 'female'}
|
||||
for k,v in tinydict.items():
|
||||
assert updated_dict[k] == v
|
||||
|
||||
dishes = {'eggs': 2, 'sausage': 1, 'bacon': 1, 'spam': 500}
|
||||
keys = dishes.keys()
|
||||
values = dishes.values()
|
||||
assert sorted(keys) == sorted(['eggs', 'sausage', 'bacon', 'spam'])
|
||||
assert sorted(values) == sorted([2, 1, 1, 500])
|
||||
|
||||
d={1:"a",2:"b",3:"c"}
|
||||
result=[]
|
||||
for kv in d.items():
|
||||
k = kv[0]; v=kv[1]
|
||||
result.append(k)
|
||||
result.append(v)
|
||||
assert result == [1, 'a', 2, 'b', 3, 'c']
|
29
tests/70_builtins.py
Normal file
29
tests/70_builtins.py
Normal file
@ -0,0 +1,29 @@
|
||||
assert round(23.2) == 23
|
||||
assert round(23.8) == 24
|
||||
assert round(-23.2) == -23
|
||||
assert round(-23.8) == -24
|
||||
|
||||
a = [1,2,3,-1]
|
||||
assert sorted(a) == [-1,1,2,3]
|
||||
assert sorted(a, reverse=True) == [3,2,1,-1]
|
||||
|
||||
assert abs(0) == 0
|
||||
assert abs(1.0) == 1.0
|
||||
assert abs(-1.0) == 1.0
|
||||
assert abs(1) == 1
|
||||
assert abs(-1) == 1
|
||||
|
||||
assert any([1])
|
||||
assert any([1,False,True])
|
||||
assert not any([])
|
||||
assert not any([False])
|
||||
|
||||
assert all([])
|
||||
assert all([True])
|
||||
assert all([True, 1])
|
||||
assert not all([False])
|
||||
assert not all([True, False])
|
||||
assert not all([False, False])
|
||||
|
||||
assert list(enumerate([1,2,3])) == [(0,1), (1,2), (2,3)]
|
||||
assert list(enumerate([1,2,3], 1)) == [(1,1), (2,2), (3,3)]
|
128
tests/_basic.py
128
tests/_basic.py
@ -1,128 +0,0 @@
|
||||
# generate assert test for int
|
||||
|
||||
assert 0xffff == 65535
|
||||
assert 0xAAFFFF == 11206655
|
||||
assert 0x7fffffff == 2147483647
|
||||
|
||||
# test == != >= <= < >
|
||||
# generate 2 cases for each operator
|
||||
assert -1 == -1
|
||||
assert -1 != 1
|
||||
assert -1 >= -1
|
||||
assert -1 <= -1
|
||||
assert -1 < 1
|
||||
assert -1 > -2
|
||||
|
||||
# test + - * % ** //
|
||||
assert -1 + 1 == 0
|
||||
assert -1 - 1 == -2
|
||||
assert 4 * -1 == -4
|
||||
assert 5 % 2 == 1
|
||||
assert 2 ** 3 == 8
|
||||
assert 4 // 2 == 2
|
||||
assert 5 // 2 == 2
|
||||
|
||||
# test += -= *= //=
|
||||
x = 3
|
||||
x += 1
|
||||
assert x == 4
|
||||
x -= 1
|
||||
assert x == 3
|
||||
x *= 2
|
||||
assert x == 6
|
||||
x //= 2
|
||||
assert x == 3
|
||||
|
||||
# generate assert test for float
|
||||
|
||||
def eq(a, b):
|
||||
dt = a - b
|
||||
return dt > -0.001 and dt < 0.001
|
||||
|
||||
# test + - * / **
|
||||
assert eq(1.5 + 3, 4.5)
|
||||
assert eq(1.5 + 3.9, 5.4)
|
||||
assert eq(5.3 - 2.5, 2.8)
|
||||
assert eq(0.2**2, 0.04)
|
||||
assert eq(4**(-1.0), 0.25)
|
||||
assert eq(2/1, 2)
|
||||
assert eq(3/2.0, 1.5)
|
||||
assert eq(1/9, 0.11111)
|
||||
|
||||
# test += -= *= /=
|
||||
x = 3.0
|
||||
x += 1
|
||||
assert eq(x, 4.0)
|
||||
x -= 1
|
||||
assert eq(x, 3.0)
|
||||
x *= 2
|
||||
assert eq(x, 6.0)
|
||||
x /= 1.8
|
||||
assert eq(x, 3.3333)
|
||||
|
||||
# generate assert test for bool
|
||||
|
||||
assert True == True
|
||||
assert True != False
|
||||
assert False == False
|
||||
assert False != True
|
||||
|
||||
# test and/or/not
|
||||
assert True and True
|
||||
assert not (True and False)
|
||||
assert True or True
|
||||
assert True or False
|
||||
assert not False
|
||||
assert not (not True)
|
||||
|
||||
assert bool(0) == False
|
||||
assert bool(1) == True
|
||||
assert bool([]) == False
|
||||
assert bool("abc") == True
|
||||
assert bool([1,2]) == True
|
||||
assert bool('') == False
|
||||
|
||||
# generate assert test for str
|
||||
|
||||
assert 'testing' == 'test' + 'ing'
|
||||
assert 'testing' != 'test' + 'ing2'
|
||||
assert 'testing' < 'test' + 'ing2'
|
||||
assert 'testing5' > 'test' + 'ing1'
|
||||
|
||||
# test + *=
|
||||
assert 'abc' + 'def' == 'abcdef'
|
||||
assert 'abc' * 3 == 'abcabcabc'
|
||||
|
||||
# generate assert test for list
|
||||
|
||||
assert [1, 2, 3] == [1, 2, 3]
|
||||
assert [1, 2, 3] != [1, 2, 4]
|
||||
|
||||
# test + *=
|
||||
assert [1, 2, 3] + [4, 5, 6] == [1, 2, 3, 4, 5, 6]
|
||||
assert [1, 2, 3] * 3 == [1, 2, 3, 1, 2, 3, 1, 2, 3]
|
||||
|
||||
# test ?:
|
||||
a = 5
|
||||
assert ((a > 3) ? 1 : 0) == 1
|
||||
assert ((a < 3) ? 1 : 0) == 0
|
||||
|
||||
assert eq(round(3.1415926, 2), 3.14)
|
||||
assert eq(round(3.1415926, 3), 3.142)
|
||||
assert eq(round(3.1415926, 4), 3.1416)
|
||||
assert eq(round(-3.1415926, 2), -3.14)
|
||||
assert eq(round(-3.1415926, 3), -3.142)
|
||||
assert eq(round(-3.1415926, 4), -3.1416)
|
||||
assert round(23.2) == 23
|
||||
assert round(23.8) == 24
|
||||
assert round(-23.2) == -23
|
||||
assert round(-23.8) == -24
|
||||
|
||||
|
||||
assert 7**21 == 558545864083284007
|
||||
assert 2**60 == 1152921504606846976
|
||||
assert -2**60 == -1152921504606846976
|
||||
assert eq(2**-2, 0.25)
|
||||
assert 0**0 == 1
|
||||
assert 0**1 == 0
|
||||
assert 1**0 == 1
|
@ -1,207 +0,0 @@
|
||||
##############################################
|
||||
##String
|
||||
##############################################
|
||||
|
||||
a = ''
|
||||
b = 'test'
|
||||
c ='test'
|
||||
assert len(a) == 0
|
||||
assert len(b) == 4
|
||||
assert b == c
|
||||
|
||||
# upper and lower not work for utf-8
|
||||
# assert ''.lower() == '' and ''.upper() == ''
|
||||
# assert 'already+lower '.lower() == 'already+lower '
|
||||
# assert 'ALREADY+UPPER '.upper() == 'ALREADY+UPPER '
|
||||
# assert 'tEST+InG'.lower() == 'test+ing'
|
||||
# assert 'tEST+InG'.upper() == 'TEST+ING'
|
||||
|
||||
s = "football"
|
||||
q = "abcd"
|
||||
r = "zoo"
|
||||
t = "this is string example....wow!!!"
|
||||
assert s[0] == 'f'
|
||||
assert s[1:4] == 'oot'
|
||||
assert s[:-1] == 'footbal'
|
||||
assert s[:10] == 'football'
|
||||
assert s[-3] == 'a'
|
||||
assert t[-5:] == 'ow!!!'
|
||||
assert t[3:-3] == 's is string example....wow'
|
||||
assert s > q;assert s < r
|
||||
assert s.replace("foo","ball") == "balltball"
|
||||
assert s.startswith('f') == True;assert s.endswith('o') == False
|
||||
assert t.startswith('this') == True;
|
||||
|
||||
|
||||
assert t.split('w') == ['this is string example....', 'o', '!!!']
|
||||
assert "a,b,c".split(',') == ['a', 'b', 'c']
|
||||
assert 'a,'.split(',') == ['a', '']
|
||||
assert 'foo!!bar!!baz'.split('!!') == ['foo', 'bar', 'baz']
|
||||
|
||||
t = "*****this is **string** example....wow!!!*****"
|
||||
s = "123abcrunoob321"
|
||||
assert t.strip( '*' ) == "this is **string** example....wow!!!"
|
||||
assert s.strip( '12' ) == "3abcrunoob3"
|
||||
|
||||
assert t.strip( '*' ) == "this is **string** example....wow!!!"
|
||||
assert s.strip( '12' ) == "3abcrunoob3"
|
||||
|
||||
s = ' asd\n asd \n'
|
||||
assert s.strip() == 'asd\n asd'
|
||||
|
||||
s1 = "-"
|
||||
s2 = ""
|
||||
seq = ["r","u","n","o","o","b"]
|
||||
assert s1.join( seq ) == "r-u-n-o-o-b"
|
||||
assert s2.join( seq ) == "runoob"
|
||||
|
||||
def test(*seq):
|
||||
return s1.join(seq)
|
||||
assert test("r", "u", "n", "o", "o", "b") == "r-u-n-o-o-b"
|
||||
|
||||
def f():
|
||||
for i in range(5):
|
||||
yield str(i)
|
||||
assert '|'.join(f()) == '0|1|2|3|4'
|
||||
|
||||
num = 6
|
||||
assert str(num) == '6'
|
||||
|
||||
##############################################
|
||||
##Lists
|
||||
##############################################
|
||||
|
||||
l = [1,2,3,4]
|
||||
assert l[2] == 3
|
||||
assert l[-1] == 4
|
||||
assert l[:32] == [1,2,3,4]
|
||||
assert l[32:] == []
|
||||
assert l[1:4] == [2,3,4]
|
||||
assert l[-1:-3] == []
|
||||
assert l[-3:-1] == [2,3]
|
||||
|
||||
l = (1,2,3,4)
|
||||
assert l[2] == 3
|
||||
assert l[-1] == 4
|
||||
assert l[:32] == (1,2,3,4)
|
||||
assert l[32:] == tuple([])
|
||||
assert l[1:4] == (2,3,4)
|
||||
assert l[-1:-3] == tuple([])
|
||||
assert l[-3:-1] == (2,3)
|
||||
|
||||
l1 = [1];l2 = l1;l1.append(2);l3 = [1,1,2]
|
||||
assert l2[1] == 2
|
||||
assert l1 == l2
|
||||
assert l1*3 == [1,2,1,2,1,2]
|
||||
assert l3.count(1) == 2
|
||||
|
||||
member = ['Tom', 'Sunny', 'Honer', 'Lily']
|
||||
teacher = [1,2,3]
|
||||
assert len(member + teacher) == 7
|
||||
assert member[0] == 'Tom'
|
||||
assert member[-2] == 'Honer'
|
||||
assert member[0:3] == ['Tom', 'Sunny', 'Honer']
|
||||
|
||||
member.remove('Sunny')
|
||||
assert member == ['Tom', 'Honer', 'Lily']
|
||||
member.pop()
|
||||
assert member == ['Tom', 'Honer']
|
||||
del member[0]
|
||||
assert member == ['Honer']
|
||||
member.append('Jack')
|
||||
assert member == ['Honer','Jack']
|
||||
member.extend(teacher)
|
||||
assert member == ['Honer','Jack',1,2,3]
|
||||
member.insert(1,'Tom')
|
||||
assert member == ['Honer','Tom','Jack',1,2,3]
|
||||
member.clear()
|
||||
assert member == []
|
||||
member = teacher.copy()
|
||||
assert member == [1,2,3]
|
||||
|
||||
l = []
|
||||
l.insert(0, 'l')
|
||||
l.insert(1, 'l')
|
||||
l.insert(0, 'h')
|
||||
l.insert(3, 'o')
|
||||
l.insert(1, 'e')
|
||||
assert l == ['h', 'e', 'l', 'l', 'o']
|
||||
assert l[-2] == 'l'
|
||||
|
||||
##############################################
|
||||
##tuple
|
||||
##############################################
|
||||
|
||||
tup = ('Google', 'Runoob', 'Taobao', 'Wiki', 'Weibo','Weixin')
|
||||
a,b = 1,2
|
||||
assert a == 1
|
||||
assert b == 2
|
||||
a,b = b,a
|
||||
assert a == 2
|
||||
assert b == 1
|
||||
assert len(tup) == 6
|
||||
|
||||
##############################################
|
||||
##dict
|
||||
##############################################
|
||||
emptyDict = dict()
|
||||
assert len(emptyDict) == 0
|
||||
tinydict = {'Name': 'Tom', 'Age': 7, 'Class': 'First'}
|
||||
assert tinydict['Name'] == 'Tom';assert tinydict['Age'] == 7
|
||||
tinydict['Age'] = 8;tinydict['School'] = "aaa"
|
||||
assert tinydict['Age'] == 8;assert tinydict['School'] == "aaa"
|
||||
del tinydict['Name']
|
||||
assert len(tinydict) == 3
|
||||
tinydict.clear()
|
||||
assert len(tinydict) == 0
|
||||
|
||||
dict1 = {'user':'circle','num':[1,2,3]}
|
||||
dict2 = dict1.copy()
|
||||
for k,v in dict1.items():
|
||||
assert dict2[k] == v
|
||||
|
||||
tinydict = {'Name': 'circle', 'Age': 7}
|
||||
tinydict2 = {'Sex': 'female' }
|
||||
tinydict.update(tinydict2)
|
||||
updated_dict = {'Name': 'circle', 'Age': 7, 'Sex': 'female'}
|
||||
for k,v in tinydict.items():
|
||||
assert updated_dict[k] == v
|
||||
|
||||
dishes = {'eggs': 2, 'sausage': 1, 'bacon': 1, 'spam': 500}
|
||||
keys = dishes.keys()
|
||||
values = dishes.values()
|
||||
assert sorted(keys) == sorted(['eggs', 'sausage', 'bacon', 'spam'])
|
||||
assert sorted(values) == sorted([2, 1, 1, 500])
|
||||
|
||||
d={1:"a",2:"b",3:"c"}
|
||||
result=[]
|
||||
for kv in d.items():
|
||||
k = kv[0]; v=kv[1]
|
||||
result.append(k)
|
||||
result.append(v)
|
||||
assert result == [1, 'a', 2, 'b', 3, 'c']
|
||||
|
||||
a = [1,2,3,-1]
|
||||
assert sorted(a) == [-1,1,2,3]
|
||||
assert sorted(a, reverse=True) == [3,2,1,-1]
|
||||
|
||||
assert abs(0) == 0
|
||||
assert abs(1.0) == 1.0
|
||||
assert abs(-1.0) == 1.0
|
||||
assert abs(1) == 1
|
||||
assert abs(-1) == 1
|
||||
|
||||
assert any([1])
|
||||
assert any([1,False,True])
|
||||
assert not any([])
|
||||
assert not any([False])
|
||||
|
||||
assert all([])
|
||||
assert all([True])
|
||||
assert all([True, 1])
|
||||
assert not all([False])
|
||||
assert not all([True, False])
|
||||
assert not all([False, False])
|
||||
|
||||
assert list(enumerate([1,2,3])) == [(0,1), (1,2), (2,3)]
|
||||
assert list(enumerate([1,2,3], 1)) == [(1,1), (2,2), (3,3)]
|
@ -1,17 +0,0 @@
|
||||
def is_prime(x):
|
||||
if x<2:
|
||||
return False
|
||||
|
||||
for i in range(2,x):
|
||||
if x%i == 0:
|
||||
return False1
|
||||
return True
|
||||
|
||||
def test(n):
|
||||
k = 0
|
||||
for i in range(n):
|
||||
if is_prime(i):
|
||||
k += 1
|
||||
return k
|
||||
|
||||
print(test(100))
|
@ -1,6 +0,0 @@
|
||||
print("Welcome to the Python world!")
|
||||
a = input()
|
||||
print("You entered: " + a)
|
||||
b = input()
|
||||
print("You entered: " + b)
|
||||
print("END")
|
Loading…
x
Reference in New Issue
Block a user