鱼C论坛

 找回密码
 立即注册
查看: 763|回复: 14

[已解决]你好大佬们,请教一个小甲鱼14课程的一个内容

[复制链接]
发表于 2020-4-14 23:19:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

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

x
while True:
    temp = input('请输入一个密码:')
    if temp == temp.isnumric():
        print('密码中必须包括数字和字母',end='')
    if temp == temp.isalpha():
        print('密码中必须包括数字和字母',end='')
    if temp == temp.isalnum():
        print('编写成功')
为什么会报错AttributeError: 'str' object has no attribute 'isnumric'
看不懂啊。。。。。
我觉得代码没错啊
最佳答案
2020-4-15 00:06:35
牛逼牛逼 发表于 2020-4-14 23:43
还是不行啊大佬
会无限循环请输入密码

你的代码里没有退出,而且,temp==,那都是什么判断,参考下面代码:
while True:
    temp = input('请输入一个密码:')
    if temp.isnumeric() or temp.isalpha():  #既然内容一样,就合并吧
        print('密码中必须包括数字和字母',end='')
#    if temp.isalnum():    #排除了纯数字和纯字母,为什么还要这个,符号不行吗?
    else:
        print('编写成功')
        break
  #要有退出循环的语句
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-14 23:32:08 | 显示全部楼层
是isnumeric(),你漏了个e。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-14 23:43:11 | 显示全部楼层
本帖最后由 牛逼牛逼 于 2020-4-14 23:49 编辑
txxcat 发表于 2020-4-14 23:32
是isnumeric(),你漏了个e。


还是不行啊大佬
会无限循环请输入密码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-14 23:56:42 | 显示全部楼层
你又少了个is,记住是 temp.isnumric():
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-14 23:58:15 | 显示全部楼层
牛逼牛逼 发表于 2020-4-14 23:43
还是不行啊大佬
会无限循环请输入密码

因为你就是写了一个死循环啊 根本没有写跳出循环的条件
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-15 00:02:08 | 显示全部楼层
admintest166 发表于 2020-4-14 23:58
因为你就是写了一个死循环啊 根本没有写跳出循环的条件

求大佬帮忙改一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-15 00:04:00 | 显示全部楼层
a=0
while a<5:
     temp = input('请输入一个密码:')
     if temp == temp.isnumeric():
         print('密码中必须包括数字和字母',end='')
     if temp == temp.isalpha():
         print('密码中必须包括数字和字母',end='')
     if temp == temp.isalnum():
         print('编写成功')
     a+=1
其实就很简单 while 循环 如果a变量中的值小于5 就会进入循环 如果a>5那么就会不会再循环
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-15 00:06:35 | 显示全部楼层    本楼为最佳答案   
牛逼牛逼 发表于 2020-4-14 23:43
还是不行啊大佬
会无限循环请输入密码

你的代码里没有退出,而且,temp==,那都是什么判断,参考下面代码:
while True:
    temp = input('请输入一个密码:')
    if temp.isnumeric() or temp.isalpha():  #既然内容一样,就合并吧
        print('密码中必须包括数字和字母',end='')
#    if temp.isalnum():    #排除了纯数字和纯字母,为什么还要这个,符号不行吗?
    else:
        print('编写成功')
        break
  #要有退出循环的语句
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-15 00:07:12 | 显示全部楼层
admintest166 发表于 2020-4-15 00:04
其实就很简单 while 循环 如果a变量中的值小于5 就会进入循环 如果a>5那么就会不会再循环

我还有一个问题就是什么字符串的内置函数必须要数字和字母一起才会true,反之false
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-15 00:13:12 From FishC Mobile | 显示全部楼层
txxcat 发表于 2020-4-14 23:32
是isnumeric(),你漏了个e。

谢谢大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-15 00:16:26 | 显示全部楼层
你的用法也不对, temp.isnumric():得到的是ture和false,表达式是不是不需要temp和 temp.isnumric()肯定不相等,一个属于字符串,一个是布尔量,不会相等
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-15 00:18:01 | 显示全部楼层
还有你的temp.isalnum()用法也不对,只要密码里面有个数、字母,值都会为true
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-15 00:21:22 | 显示全部楼层
这段代码本身就是有问题的,temp本来是一个输入的变量,结过你把变量的内置函数结果做比较,他的结果无非返回True或者False,是bool类型,而temp是字符串类型,他们永远不相等,也就是说你这段代码完全无效
temp = input('请输入一个密码:')
     if temp == temp.isnumeric():
         print('密码中必须包括数字和字母',end='')
     if temp == temp.isalpha():
         print('密码中必须包括数字和字母',end='')
     if temp == temp.isalnum():
         print('编写成功')
进入无限循环的原因,你没有设置出去的条件,比如你可以后面加一个return False,就可以跳出循环了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-15 00:28:33 From FishC Mobile | 显示全部楼层
岚冰1234 发表于 2020-4-15 00:21
这段代码本身就是有问题的,temp本来是一个输入的变量,结过你把变量的内置函数结果做比较,他的结果无非返 ...

学到了,感谢大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-15 00:29:32 From FishC Mobile | 显示全部楼层
woai5551981 发表于 2020-4-15 00:16
你的用法也不对, temp.isnumric():得到的是ture和false,表达式是不是不需要temp和 temp.isnumric()肯定不 ...

学到了,谢谢大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 12:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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