急!急!。。。。 python3编程 在用户输入口令时,如何显示*而不是密码?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了急!急!。。。。 python3编程 在用户输入口令时,如何显示*而不是密码?相关的知识,希望对你有一定的参考价值。
我也在网上找了很多代码,但都是同一段,并且那段代码在python3上根本就不能运行,我也不知道是不兼容的原因还是代码错误,希望python高手能够指点下;
我搜到的代码::
2. getpass.getpass() :
import getpass
pwd = getpass.getpass('password: ')
print pwd
# password:
# aaaa
Note: 很安全,但是看不到输入的位数,会让人觉得有点不习惯,不知道的还以为没有在输入..
3. msvcrt.getch() :
代码
import msvcrt, sys
def pwd_input():
chars = []
while True:
newChar = msvcrt.getch()
if newChar in '\r\n': # 如果是换行,则输入结束
print ''
break
elif newChar == '\b': # 如果是退格,则删除末尾一位
if chars:
del chars[-1]
sys.stdout.write('\b') # 删除一个星号,但是不知道为什么不能执行...
else:
chars.append(newChar)
sys.stdout.write('*') # 显示为星号
print ''.join(chars)
pwd = pwd_input()
print pwd
# ******
# aaaaaa
Note: 解决了第二种方法不能显示输入位数的问题,但是如果按退格键(backspace)的话,虽然实际的是退格了,
自己去看看吧, 这个需要IDE的. 参考技术B print pwd 改 print(pwd)
raw_input() 改 input()
等等, 参看python3语法
C语言编程!急!
从1到33这33个数字中选择6个不同的数字相加,使其和值等于92,怎样编程。急!谢谢!(就是直接输入92,输出6个数一组,其和值等于92,这样的程序)
之前写的有些问题,又更新了一下,这次OK了给,由于是穷举,所以特别耗时:
#include<conio.h>
#include<stdio.h>
int main()
int num[33][2]=NULL;
int result[6]=NULL;
int i,n;
int i1,i2,i3,i4,i5,i6;
printf("Please input n: ");
scanf("%d",&n);
for(i=0;i<33;i++)
num[i][0]=i+1;
num[i][1]=0;
for(i1=0;i1<33;i1++)
num[i1][1]=1;
for(i2=0;i2<33;i2++)
if(num[i2][1]==1) continue;
num[i2][1]=1;
for(i3=0;i3<33;i3++)
if(num[i3][1]==1) continue;
num[i3][1]=1;
for(i4=0;i4<33;i4++)
if(num[i4][1]==1) continue;
num[i4][1]=1;
for(i5=0;i5<33;i5++)
if(num[i5][1]==1) continue;
num[i5][1]=1;
for(i6=0;i6<33;i6++)
if(num[i6][1]==1) continue;
num[i6][1]=1;
if((num[i1][0]+num[i2][0]+num[i3][0]+num[i4][0]+num[i5][0]+num[i6][0])==n)
printf("%2d %2d %2d %2d %2d %2d\n",num[i1][0],num[i2][0],num[i3][0],num[i4][0],num[i5][0],num[i6][0]);
num[i6][1]=0;
num[i5][1]=0;
num[i4][1]=0;
num[i3][1]=0;
num[i2][1]=0;
num[i1][1]=0;
getch();
return 1;
你先用21试试吧,92得等好一会儿 参考技术A 用穷举法,不过92可以组成的数太多了,可以输入个小一点的输测试一下。
#include<stdio.h>
void main()
int a,b,c,d,e,f,n;
scanf("%d",&n);
for(a=1;a<29;a++)
for(b=a+1;b<30;b++)
for(c=b+1;c<31;c++)
for(d=c+1;d<32;d++)
for(e=d+1;e<33;e++)
for(f=e+1;f<34;f++)
if(a+b+c+d+e+f==n)
printf("***************\n");
printf("%d %d %d %d %d %d\n",a,b,c,d,e,f);
以上是关于急!急!。。。。 python3编程 在用户输入口令时,如何显示*而不是密码?的主要内容,如果未能解决你的问题,请参考以下文章
s7-200 cpu224cn通信时,双击刷新后出现一个黄色的问号和Unknow字样 你是怎么处理的啊 急急急求!!!!