Python求助

m0_52018502 2021-04-29 06:27:27
username = input()
password = input()

if username == 'Kate' and password == 666666:
print('登录成功!')

求助各位大神,为啥print语句没法执行
...全文
115 6 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
m0_52018502 2021-05-04
感谢各位大佬的帮助,困惑已消解
  • 打赏
  • 举报
回复
password 也是字符串, 不是整数. 手工输入的一切都是字符
  • 打赏
  • 举报
回复
crifan 2021-04-30
原因:你input输入的 666666,input返回后 是:字符串类型的 "666666" 而不是:你以为的,int整数的 666666 想要得到int整数类型的,可以用强制转换(确保输入的值的确是int类型的字符串,否则会报错) 即,把代码:

password = input()
改为:

passwordStr = input()
password = int(passwordStr)
但其实更推荐你改为,见名知意的,加上变量类型的写法,比如:

usernameStr = input("请输入用户名")
passwordStr = input("请输入密码")
 
if usernameStr == 'Kate' and passwordStr == '666666':
    print('登录成功!')
或:

usernameStr = input("请输入用户名")
passwordStr = input("请输入密码")
passwordInt = int(passwordStr)
 
if usernameStr == 'Kate' and passwordInt == 666666:
    print('登录成功!')
详见: input返回值是字符串 · Python新手小白常见错误和问题
  • 打赏
  • 举报
回复
ssson 2021-04-30

username = input()
password = input()



if username == 'Kate' and password == '666666':
    print('登录成功!')

print(type(username),type(password),type(666666),type('666666'))#这行可以帮助你理解
  • 打赏
  • 举报
回复
weiweixiao995 2021-04-30
因为input()接收的默认是字符串,所以if 判断那里password 不等于整数类型的666666,所以不会向下执行,因为没有else:所以什么都不会打印,改成这样就可以了
username = input()
password = int(input())

if username == 'Kate' and password == 666666:   
    print('登录成功!')
  • 打赏
  • 举报
回复
SinMu-L 2021-04-29
如果愿意在if上面打印一下password和username的类型,你就会发现惊喜
  • 打赏
  • 举报
回复
发帖
脚本语言

3.7w+

社区成员

JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • ITBOB • 鲍勃
加入社区
帖子事件
创建了帖子
2021-04-29 06:27