1. 快乐的数字
编写一个算法来确定一个数字是否“快乐”。 快乐的数字按照如下方式确定:从一个正整数开始,用其每位数的平方之和取代该数,并重复这个过程,直到最后数字要么收敛等于 1 且一直等于 1,要么将无休止地循环下去且最终不会收敛等于 1。能够最终收敛等于 1 的数就是快乐的数字。
例如: 19 就是一个快乐的数字,计算过程如下:
1 ** 2 + 9 ** 2 = 82
8 ** 2 + 2 ** 2 = 68
6 ** 2 + 8 ** 2 = 100
1 ** 2 + 0 ** 2 + 0 ** 2 = 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| def func(a): s = 0 while(a>0): rest = a % 10 s = s + rest * rest a = a // 10 return s
def main(): inputStr = input() try: integer = eval(inputStr) except: print(False) else: i = 0 while( i < 1000 and integer != 1): integer = func(integer) i += 1 if i<1000 and integer ==1: print(True) else: print(False)
main()
|
2. 阶乘累计求和
获得用户输入的整数n,输出 1!+2!+…+n! 的值。 如果输入数值为 0、负数、非数字或非整数,输出提示信息:输入有误,请输入正整数。
1 = 1
1*2 = 2 3
1*2*3 = 6 9
1*2*3*4 = 24 33
1*2*3*4*5 = 120 153
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| def func(length): item = 1 summer = 0 for i in range(1, length+1): item *= i summer += item return summer
def main(): try: inputStr = input() integer = eval(inputStr) if (integer <= 0): raise Exception print(func(integer)) except: print("输入有误,请输入正整数") return
main()
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| def main(): USER_NAME = 'Kate' PWD = '666666' LEN = 3 for i in range(LEN): userName = input() pwd = input() if USER_NAME == userName and PWD == pwd: print("登录成功!") break if i + 1 == LEN: print("3次用户名或者密码均有误!退出程序。") else: print("用户名或者密码错误!")
main()
|