文档章节

python的小练习--猜数字提示XAXB

o
 osc_4nmshwhm
发布于 2018/08/06 21:59
字数 375
阅读 13
收藏 0

精选30+云产品,助力企业轻松上云!>>>

今天刚刚学了python的基本语法,老师布置了一些练习题,课堂上没解决,课后想了下,将自己的做法贴出来:

def count(guess, result):    # 计算A,B的数量
guess=str(guess) # 将数字转换成字符串
result=str(result)
numA=0
numB=0
for i in range(4):
if guess[i] == result[i]: # 当相同位置上有相同的数字时,A的数量加1
numA+=1
elif guess[i] in result: # 当位置上的数字不相同时,判断在其他位置上是否有该数字,B的数量加1
numB+=1
sum=str(numA)+str(numB)
return sum

def check(guess): # 判断猜测数据是否合法
if guess in range(1000, 10000):
guess = str(guess)
for i in range(4):
a = guess[i]
for j in range(i+1, 4):
if a == guess[j]:
print("数字不能有重复的")
return 2
print("数字合法")
return 1
else:
print("数字有效位数为4位")
return 3


while True:
result = 1034
guess = int(input("请输入猜测的数字(四位有效数字):"))
if check(guess) == 1:
num = count(guess, result)
if int(num[0]) == 4:
print("恭喜你,猜中了,数字就是:", guess)
break
else:
print("还差一点,请继续加油:", int(num[0]), "A", int(num[1]), "B" )
else:
print("猜测的数字不合法,请重新输入")


要点为:1.数据类型的转换,从输入的数字字符串转换到整型,整型到字符串
2.对整型数据处理,比较每一位的值,计算出AB的值
3.不合法的数据,直接提示
o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

Mysql高可用架构

低读低写并发、低数据量方案 方案一:双机高可用方案 1.数据库架构图 2.特点 一台机器A作为读写库,另一台B作为备份库;A库故障后B库作为读写库;A库恢复后A作为备库。 3.开发说明 此种情况下...

osc_2axit9df
18分钟前
16
0
ASP.NET Core Web Api之JWT刷新Token(三)

前言 如题,本节我们进入JWT最后一节内容,JWT本质上就是从身份认证服务器获取访问令牌,继而对于用户后续可访问受保护资源,但是关键问题是:访问令牌的生命周期到底设置成多久呢?见过一些...

osc_p1q9onsn
19分钟前
8
0
[PA2015]Siano 单调栈

由于某人找了个单调栈的题解但是没研究透所以让我们来研究。。。。。。。。。。。。 首先先来考虑下面一种情况,假设第\(k\)次切割时,天数为\(d_k\),高度为\(b_k\),第\(k+1\)次切割时,天...

osc_b71hj3or
20分钟前
6
0
reg007最新邀请码!!!

需要的小伙伴留邮箱我邀请你们。

osc_9na1lmr9
22分钟前
4
0
居家日常(第二周)

开个新坑,开个新坑。主要感觉都写在一篇博客里有亿点长。接下来的文笔会更精彩(大雾) 6.29 周一   开新坑啦!!!这周日记打算好好地写点东西出来。当我真正想坐下来写点东西的时候就很...

osc_kf7nv2km
24分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部