1,打印数学判断的数
编写一个程序,查找所有此类数字,它们可以被7整除,但不能是5的倍数,介于2000和3000之间(均包括在内)。获得的数字应以逗号分隔的顺序打印在一行上。
list = []
for i in range(2000,3000):
if (i % 7 == 0 ) and (i % 5 != 0):
list.append(i)
i += 1
print(list)
结果展示:
[2002, 2009, 2016, 2023, 2037, 2044, 2051, 2058, 2072, 2079, 2086, 2093, 2107, 2114, 2121, 2128, 2142, 2149, 2156, 2163, 2177, 2184, 2191, 2198, 2212, 2219, 2226, 2233, 2247, 2254, 2261, 2268, 2282, 2289, 2296, 2303, 2317, 2324, 2331, 2338, 2352, 2359, 2366, 2373, 2387, 2394, 2401, 2408, 2422, 2429, 2436, 2443, 2457, 2464, 2471, 2478, 2492, 2499, 2506, 2513, 2527, 2534, 2541, 2548, 2562, 2569, 2576, 2583, 2597, 2604, 2611, 2618, 2632, 2639, 2646, 2653, 2667, 2674, 2681, 2688, 2702, 2709, 2716, 2723, 2737, 2744, 2751, 2758, 2772, 2779, 2786, 2793, 2807, 2814, 2821, 2828, 2842, 2849, 2856, 2863, 2877, 2884, 2891, 2898, 2912, 2919, 2926, 2933, 2947, 2954, 2961, 2968, 2982, 2989, 2996]
2,阶乘问题计算
计算1+2!+3!+4!+…+10!的值
sum = 0
tmp = 1
for i in range(1, 11):
tmp*= i
sum+= tmp
# print("运算结果是:{}".format(sum))
print("运算结果是:%d" % sum)
结果展示:
运算结果是:4037913
3,打印出菱形图案
解析:菱形可以分成两部分,前四行与后三行,利用双重for循环,第一层控制行,第二层控制列。
from sys import stdout
for i in range(4):
for j in range(2 - i + 1):
stdout.write(' ')
for k in range(2 * i + 1):
stdout.write('*')
print('')
for i in range(3):
for j in range(i + 1):
stdout.write(' ')
for k in range(4 - 2 * i + 1):
stdout.write('*')
print('')
结果展示:
*
***
*****
*******
*****
***
*
4,组成多少个互不相同且无重复数字的三位数
有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数,有多少个
count =0
for h in range(1,5):
for i in range(1,5):
if i==h:
continue
for j in range(1,5):
if j==i or j==h:
continue
count += 1
# print(h*100+i*10+j)
print(count)
结果展示:
24
5,猴子吃桃
猴子吃桃问题,猴子第一天摘了一些桃子,当即吃了一半,感觉不够就又吃了一个。第二天又吃了一半加一个。此后每天吃前一天余下的一半加一个,到第十天准备在吃的时候,发现就剩一个桃子了。问:猴子第一天摘了多少桃子?
day = 9
x2 = 1
x1 = 0
while day > 0:
x1 = (x2 + 1)*2
x2 = x1
day -= 1
print("the total is: %d" % x1)
结果展示:
the total is: 1534