急!急!。。。。 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)的话,虽然实际的是退格了,

参考技术A http://docs.python.org/py3k/library/getpass.html
自己去看看吧, 这个需要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编程 在用户输入口令时,如何显示*而不是密码?的主要内容,如果未能解决你的问题,请参考以下文章

(急~急~急)请帮忙,谢谢了

急急急,两个路由器求互相访问,求解??

Python编程计算,在线急!

C语言编程!急!

s7-200 cpu224cn通信时,双击刷新后出现一个黄色的问号和Unknow字样 你是怎么处理的啊 急急急求!!!!

用c++编程:打印出N行的等腰直角三角形。N从键盘输入。。。急。求解。谢谢啦啦啦