Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commita9e660e

Browse files
committed
mymax step 00
1 parentea0e134 commita9e660e

File tree

9 files changed

+134
-4
lines changed

9 files changed

+134
-4
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
defmax(a:float,b:float)->float:
2+
ifa>=b:
3+
returna
4+
returnb

‎less_than/max_steps/00-two_ints/mymax_test.pyrenamed to‎less_than/max_steps/00-two_floats/mymax_test.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@
1010
(4,4,4),
1111
],
1212
)
13-
deftest_two_ints(a:int,b:int,expected:int)->None:
14-
result=mymax.max(a,b)
13+
deftest_two_ints(a:float,b:float,expected:float)->None:
14+
result:float=mymax.max(a,b)
1515
assertresult==expected
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
#!/usr/bin/env python3
2+
3+
fromtypingimportTYPE_CHECKING,List,Optional
4+
5+
importmymaxasmy
6+
7+
defdemo_args_float()->None:
8+
a,b=2.5,3.5
9+
expected=b
10+
result=my.max(a,b)
11+
assertresult==expected
12+
print((a,b),'->',result)
13+
14+
15+
###################################### intentional type errors
16+
17+
fromfractionsimportFraction
18+
19+
defdemo_args_fraction()->None:
20+
a,b=Fraction(5,8),Fraction(7,12)
21+
expected=a
22+
result=my.max(a,b)
23+
assertresult==expected
24+
print((a,b),'->',result)
25+
ifTYPE_CHECKING:
26+
reveal_type(a)
27+
reveal_type(b)
28+
reveal_type(result)
29+
30+
31+
32+
defmain():
33+
importsys
34+
forname,valinglobals().items():
35+
ifname.startswith('demo')or ('-e'insys.argvandname.startswith('error')):
36+
print('_'*20,name)
37+
val()
38+
39+
if__name__=='__main__':
40+
main()

‎less_than/max_steps/00-two_ints/mymax.py

Lines changed: 0 additions & 2 deletions
This file was deleted.
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
#!/usr/bin/env python3
2+
3+
fromtypingimportTYPE_CHECKING,List,Optional
4+
5+
importmymaxasmy
6+
7+
defdemo_args_float()->None:
8+
a,b=2.5,3.5
9+
expected=b
10+
result=my.max(a,b)
11+
assertresult==expected
12+
print((a,b),'->',result)
13+
14+
15+
###################################### intentional type errors
16+
17+
fromfractionsimportFraction
18+
19+
defdemo_args_fraction()->None:
20+
a,b=Fraction(5,8),Fraction(7,12)
21+
expected=a
22+
result=my.max(a,b)
23+
assertresult==expected
24+
print((a,b),'->',result)
25+
ifTYPE_CHECKING:
26+
reveal_type(a)
27+
reveal_type(b)
28+
reveal_type(result)
29+
30+
31+
32+
defmain():
33+
importsys
34+
forname,valinglobals().items():
35+
ifname.startswith('demo')or ('-e'insys.argvandname.startswith('error')):
36+
print('_'*20,name)
37+
val()
38+
39+
if__name__=='__main__':
40+
main()
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
fromnumbersimportNumber
2+
3+
defmax(a:Number,b:Number)->Number:
4+
returnaifa>=belseb
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
fromdecimalimportDecimal
2+
fromfractionsimportFraction
3+
4+
importmymax
5+
6+
importpytest
7+
8+
9+
@pytest.mark.parametrize(
10+
'a, b, expected',
11+
[
12+
(1,2,2),
13+
(-3,-1,-1),
14+
(4,4,4),
15+
],
16+
)
17+
deftest_two_ints(a:int,b:int,expected:int)->None:
18+
result=mymax.max(a,b)
19+
assertresult==expected
20+
21+
22+
deftest_two_numbers()->None:
23+
result=mymax.max(Fraction(1,3),Fraction(1,4))
24+
assertresult==Fraction(1,3)
25+
26+
27+
@pytest.mark.parametrize(
28+
'a, b, expected',
29+
[
30+
(1,2,2),
31+
(0.1,0.01,0.1),
32+
(Fraction(1,3),Fraction(1,2),Fraction(1,2)),
33+
(Decimal('-1.3'),Decimal('-1.2'),Decimal('-1.2')),
34+
],
35+
)
36+
deftest_two_numbers_params(a:NumberT,b:NumberT,expected:NumberT)->None:
37+
result=mymax.max(a,b)
38+
assertresult==expected
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[mypy]
2+
python_version = 3.9
3+
warn_unused_configs = True
4+
disallow_incomplete_defs = True
5+
[mypy-pytest]
6+
ignore_missing_imports = True

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp