1.计算对称平方数
题目描述
打印所有不超过n(n<256)的,其平方具有对称性质的数,如11*11=121。
输入描述
无
输出描述
每行一个数,表示对称平方数
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
def f(n): flag = True sum = n * n sum_str_list = [i for i in str(sum)] a, b = divmod(len(str(sum)), 2) for i in range(0,len(sum_str_list)//2): if b > 0: if sum_str_list[len(sum_str_list)//2-i-1] == sum_str_list[len(sum_str_list)//2+i+1]: continue else: flag = False break else: if sum_str_list[len(sum_str_list)//2-i-1] == sum_str_list[len(sum_str_list)//2+i]: continue else: flag = False break if flag: print(n) else: pass if __name__ == '__main__': for i in range(1, 257): f(i)
2、找出所有三位数组合
题目描述
有1、2、3、4四个数字,要求任选三个,组成一个三位数,每位数字各不相同,输出所有三位数组合。
输入描述
无
输出描述
打印所有三位数组合
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
a_list = ['1','2','3','4'] def get_num_list(num,arg): arg.remove(num) return arg for a in a_list: for b in get_num_list(a,a_list.copy()): if b == a: continue else: for c in get_num_list(b,a_list.copy()): if c == a or c == b : continue else: print(c + a + b) print(a + c + b) print(c + b + a) print(a + b + c) print(b + a + c) print(b + c + a)
2、找出所有三位数组合(改良)
上述程序输出有点繁琐,改良如下。
1 for i in range(1,5): 2 for j in range(1,5): 3 for k in range(1,5): 4 if i!=k and i!=j and j!=k: 5 print(i,j,k)
3、斐波那契数列
题目描述
打印0,1,1,2,3,5,......
输入描述
无
输出描述
输出0,1,1,3,5,......规律的数
def feibo(n):
if n == 0:
return 0
if n==1:
return 1
return feibo(n-1)+feibo(n-2)
for i in range(10):
print(feibo(i))
3、字符串查找
题目描述
给一字符串,查找字符串出现最多的字符,并打印该字符。
输入描述
输入一个字符串
输出描述
输出该字符传出现次数最多的字符
def get_str_dict(string):
str_dict = {}
for s in string:
if s in str_dict.keys():
str_dict[s] += 1
else:
str_dict[s] = 1
return str_dict
def get_max_str_value(str_dict):
count = 0
s_char = ''
for key, value in str_dict.items():
if value > count:
count = value
s_char = key
return s_char, count
if __name__ == "__main__":
string = input('>>:').strip()
str_dict = get_str_dict(string)
s,count = get_max_str_value(str_dict)
print(s,count)
4、日期累加
题目描述
设计一个程序能计算一个日期加上若干天后是什么日期。
输入描述
输入第一行表示样例个数m,接下来m行每行四个整数分别表示年月日和累加的天数。
输出描述
输出m行,每行按yyyy-mm-dd的个数输出。
import sys
import datetime
def add_time(year,month,day,add_days):
in_time = datetime.date(year=year,month=month,day=day)
add_time = datetime.timedelta(days=add_days)
out_time = in_time + add_time
print(out_time)
if __name__ == "__main__":
n = sys.stdin.readline().strip()
for i in range(int(n)):
in_str = sys.stdin.readline().strip().split()
add_time(int(in_str[0]), int(in_str[1]),int(in_str[2]),int(in_str[3]))
5、贴邮票
题目描述
某人有8 角的邮票5 张,1 元的邮票4 张,1 元8 角的邮票6 张,用这些邮票中的一张或若干张可以得到多少中不同的邮资?
输入描述
无
输出描述
输出一行,表示题目所求。
a_list = []
for i in range(6):
for j in range(5):
for k in range(7):
a_list.append(i*8+j*10+k*18)
print(len(set(a_list)))