程序1:输出某个范围内的阿姆斯特朗数(阿姆斯特朗数,一个n位数的每位数字的n次方相加等于此数,例如153是个3位数,1的3次方加5的3次方加3的3次方等于153)
while True:
num_low=int(input("请输入范围下限:")) #范围下限
num_hig=int(input("请输入范围上限:")) #范围上限
for num in range(num_low,num_hig+1):
sum=0 #各位数指数相加的和
len_num=len(str(num)) #求出数字的位数
temp=num #将数值赋给一个中间值
for i in range(len_num):
m=temp%10
sum+=m**len_num
temp//=10
if(sum==num):
print(num)
程序2:一个登陆系统,需要输入用户名和密码,只有三次机会,任何一个步骤输入错误都会导致机会次数减少。
my_name="lijun" #正确的用户名
my_pass_key=str(666666) #正确的密码
count=3 #限制次数
while count>0:
try:
name=input("请输入用户名:")
if(name!=my_name):
count-=1
print("用户名错误!,还有{0}次机会".format(count))
raise ValueError
else:
print("用户名正确!")
pass_key=input("请输入密码:")
if(pass_key!=my_pass_key):
count-=1
print("密码错误!还有{0}次机会".format(count))
raise ValueError
else:
print("密码正确!")
break
except ValueError:
continue