Day32:Python基础编程(循环)能力训练50天——取数字游戏

day32

数值(序列化倒序)

对一个整数n,取从右端数的第4-7位数

分析

1.整数必须要大于7位,转为字符串便于处理
2.通过 x in [‘0’,‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’]判断是否为合法数字。
3.通过字符串反向遍历,输出4-7位。
4.也可通过翻转字符串,输出4-7位。

编码实现

1.编码实现(传统遍历方法实现)

ns=input("请输入一个不少于7位数的整数:")
while 1:
    flag=True
    if len(ns)<7:
        flag=False
        print("错误,位数不够!")
    for num in ns:
        #if eval(num) not in list(range(10)):
        if num not in [str(i) for i in range(10)]:
            flag=False
    if flag:
        break
    else:
        ns = input("请输入一个不少于7位数的整数:")
n=len(ns)
subn=""
for i in range(-1,-n-1,-1):
    if i<=-4 and i>=-7:
        subn=subn+ns[i]
print(eval(subn))

运行结果

请输入一个少于7位数的整数:5647281
7465

2.编码实现(利用字符串的切片特性实现)

ns=input("请输入一个少于7位数的整数:")
while 1:
    flag=True
    if len(ns)<7:
        flag=False
        print("错误,位数不够!")
    for num in ns:
        #if eval(num) not in list(range(10)):
        if num not in [str(i) for i in range(10)]:
            flag=False
    if flag:
        break
    else:
        ns = input("请输入一个少于7位数的整数:")
n=len(ns)
subn=ns[::-1][3:7]
print(eval(subn))

运行结果

请输入一个少于7位数的整数:5647281
7465
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值