鱼C论坛

 找回密码
 立即注册
查看: 458|回复: 2

[已解决]登入系統,不得輸入數字問題

[复制链接]
最佳答案
0 
发表于 2017-10-13 08:19:08 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 文睿 于 2017-10-13 08:23 编辑

import os
print("----------歡迎光臨證券公司交易系統--------")
ans=("Taiwan0522")
i=3
while i!=0:
    bingo=input("輸入密碼:")
   
    while '*'  in bingo:
        print('密碼不得含有*字')
        i=i+1
        break
   
    if bingo==ans:
        print("成功登入 進入交易系統中----(>&#8704;<)")
        i=3
        break
    else:
        i=i-1
    if i!=0:
        print('提示:文旦家鄉+生日')
        print('你還有',i,'次機會\n')
    else:
        print("----------登入失敗 (ò皿ó)--------\n")
print("----------文旦製作--------")
os.system("pause")

問題:
請問while '*'  in bingo:
這一行如果我想要改成不得輸入9個數字字符,要怎麼改??
最佳答案
2017-10-13 08:38:23
本帖最后由 xindong 于 2017-10-13 08:46 编辑

比较简单的办法就是用 正则表达式吧, 例如

import re
search_dig=re.search('\\d',bingo)

if (search_dig==None):
    print("No digital")
else:
    print ("Please don't enter any digital")


如果不是全部数字集,也可以用下面的方法,除了0和1之外的数字

import re
search_dig=re.search('[23456789]',bingo)

if (search_dig==None):
    print("No digital")
else:
    print ("Please don't enter any digital except 0 and 1")


最佳答案
10 
发表于 2017-10-13 08:38:23 | 显示全部楼层    本楼为最佳答案   
本帖最后由 xindong 于 2017-10-13 08:46 编辑

比较简单的办法就是用 正则表达式吧, 例如

import re
search_dig=re.search('\\d',bingo)

if (search_dig==None):
    print("No digital")
else:
    print ("Please don't enter any digital")


如果不是全部数字集,也可以用下面的方法,除了0和1之外的数字

import re
search_dig=re.search('[23456789]',bingo)

if (search_dig==None):
    print("No digital")
else:
    print ("Please don't enter any digital except 0 and 1")


最佳答案
1199 
发表于 2017-10-13 09:10:51 | 显示全部楼层
可以简单定义个函数,判断input结果中是否含有数字:
def hasNumbers(inputString):
    return any(char.isdigit() for char in inputString)
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐上一条 /1 下一条

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号 )

GMT+8, 2018-7-17 20:59

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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