吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1203|回复: 17
收起左侧

[求助] 请大佬帮忙看看这个python问题

[复制链接]
PandaLi 发表于 2020-4-10 16:12
当第一次输入11位手机号时,它会直接输出号码长度和被隐藏的部分。而如果输入错误,它会提示重新输入,等再次输入正确时,它不会提示号码长度是多少,而是直接输出被隐藏后的手机号

#手机号隐私处理
Tel=input()
while len(Tel) != 11:
    print("号码长度:",len(Tel))
    print("号码长度错误! 请重新输入!")
    Tel=input()
    while len(Tel) != 11:
        print("号码长度错误! 请重新输入!")
        Tel=input()
print("号码长度:",len(Tel))
print(Tel.replace(Tel[3:8],"*"*5))

题

运行测试,红箭头就是问题所在

运行测试,红箭头就是问题所在

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

井右寺 发表于 2020-4-10 16:31
本帖最后由 井右寺 于 2020-4-10 16:32 编辑

[Python] 纯文本查看 复制代码
if __name__ == '__main__':
        while True:
                Tel = input("plz enter phone number below\n\t:")
                if len(Tel) != 11:
                        print("wrong length, re enter plz")
                        continue

                print("number is %s****%s" %(Tel[0:3], Tel[8:]))

                Run = input("enter 0 to exit, any other to continue\n")

                if Run == '0':
                        break
RoyPenn 发表于 2020-4-10 16:40
南川没有北鱼 发表于 2020-4-10 16:41
a976606645 发表于 2020-4-10 16:46
本帖最后由 a976606645 于 2020-4-10 16:55 编辑

在1楼基础上加个判断就可以了  只有第一次输入正确时才打印长度
[Python] 纯文本查看 复制代码
i = 0
while True:
    Tel = input("plz enter phone number below\n\t:")
    if len(Tel) != 11:
        if i == 0:
            print("number's length:"+str(len(Tel)))
        print("wrong length, re enter plz")
        i+=1
        continue
    if i==0:
        print("number's length:"+str(len(Tel)))
    print("number is %s****%s" % (Tel[0:3], Tel[8:]))
    Run = input("enter 0 to exit, any other to continue\n")
    if Run == '0':
        break
wkfy 发表于 2020-4-10 16:50
本帖最后由 wkfy 于 2020-4-10 16:53 编辑

不是说楼主你啊,感觉出这个题目的人好*蛋,一定不是正规程序员,看了三遍题目要求才看懂楼主的意思。不叫人判断手机号码是否合规。却只为了判断之前有没有输入过类似的号码,然后要求正确的一次不显示输入长度的提示。是这个意思吧?我这初学新手都看不下去了。

[Python] 纯文本查看 复制代码
input_lists=[]
while True:
    Tel =input('请输入手机号码:')
    if Tel[:10] not in input_lists:
        input_lists.append(Tel)
        print('号码长度:%s' % len(Tel))
    if len(Tel) == 11:
        print(Tel.replace(Tel[3:8],"*"*5))
    else:
        print('号码长度错误!请重新输入!')
silypp 发表于 2020-4-10 16:52
在你的基础上改的

[Python] 纯文本查看 复制代码
Tel=input()
if len(Tel) == 11:
    print("号码长度:",len(Tel))
while len(Tel) != 11:
    print("号码长度:",len(Tel))
    print("号码长度错误! 请重新输入!")
    Tel=input()
print(Tel.replace(Tel[3:8],"*"*5))
豆虫 发表于 2020-4-10 16:53
可不可以把判断改一下顺序?

[Python] 纯文本查看 复制代码
Tel=input()
while Tel:
    if len(Tel) == 11:
        print("号码长度:", len(Tel))
        print(Tel.replace(Tel[3:8], "*" * 5))
        break
    else:
        print("号码长度:",len(Tel))
        print("号码长度错误! 请重新输入!")
        Tel = input()


 楼主| PandaLi 发表于 2020-4-10 17:00
豆虫 发表于 2020-4-10 16:53
可不可以把判断改一下顺序?

[mw_shl_code=python,true]Tel=input()

不可以呀   python123里面不给分  很难搞
不过还是谢谢呀
 楼主| PandaLi 发表于 2020-4-10 17:02
wkfy 发表于 2020-4-10 16:50
不是说楼主你啊,感觉出这个题目的人好*蛋,一定不是正规程序员,看了三遍题目要求才看懂楼主的意思。不叫 ...

python123平台  无语
谢谢大佬
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 19:32

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表