Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
f12358ff
Python猜数字
提交
84e06683
P
Python猜数字
项目概览
f12358ff
/
Python猜数字
与 Fork 源项目一致
Fork自
inscode / Python
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Python猜数字
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
84e06683
编写于
5月 09, 2023
作者:
6
645891bf0975d14e43ddbf8e
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Auto commit
上级
3f5ed1d0
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
53 addition
and
17 deletion
+53
-17
__pycache__/main.cpython-38.pyc
__pycache__/main.cpython-38.pyc
+0
-0
main.py
main.py
+53
-17
未找到文件。
__pycache__/main.cpython-38.pyc
0 → 100644
浏览文件 @
84e06683
文件已添加
main.py
浏览文件 @
84e06683
import
random
import
unittest
from
unittest.mock
import
patch
import
random
import
io
import
sys
import
unittest
import
random
from
unittest
import
mock
def
guess_number
():
number
=
random
.
randint
(
1
,
100
)
count
=
0
while
True
:
count
+=
1
guess
=
input
(
"请输入一个 1-100 之间的整数:"
)
if
not
guess
.
isdigit
()
or
int
(
guess
)
<
1
or
int
(
guess
)
>
100
:
print
(
"输入不合法,请重新输入!"
)
elif
int
(
guess
)
<
number
:
print
(
"猜的数字太小了,再试试!"
)
elif
int
(
guess
)
>
number
:
print
(
"猜的数字太大了,再试试!"
)
else
:
print
(
"恭喜你,猜对了!你总共猜了 %d 次。"
%
count
)
break
return
count
from
main
import
guess_number
class
TestGuessNumber
(
unittest
.
TestCase
):
@
patch
(
'sys.stdout'
,
new_callable
=
io
.
StringIO
)
@
patch
(
'random.randint'
)
@
patch
(
'builtins.input'
)
def
test_input
(
self
,
mock_input
,
mock_randint
,
mock_stdout
):
mock_randint
.
return_value
=
50
# 将随机数固定为50
mock_input
.
side_effect
=
[
'0'
,
'101'
,
'abc'
,
'50'
]
count
=
guess_number
()
print
(
mock_stdout
.
getvalue
())
self
.
assertEqual
(
mock_stdout
.
getvalue
(),
'输入不合法,请重新输入!
\n
输入不合法,请重新输入!
\n
输入不合法,请重新输入!
\n
恭喜你,猜对了!你总共猜了 4 次。
\n
'
)
#self.assertEqual(count, 1)
if
__name__
==
'__main__'
:
unittest
.
main
()
if
__name__
==
'__main__'
:
unittest
.
main
()
# 生成一个随机数
number
=
random
.
randint
(
1
,
100
)
# 记录猜的次数
count
=
0
# 循环猜数字
while
True
:
guess
=
int
(
input
(
"请猜一个1到100之间的数字:"
))
count
+=
1
if
guess
==
number
:
print
(
"恭喜你猜对了!你一共猜了%d次。"
%
count
)
break
elif
guess
<
number
:
print
(
"猜的数字太小了,请再猜一次。"
)
else
:
print
(
"猜的数字太大了,请再猜一次。"
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录