1. 输出 9*9 乘法口诀表。
代码如下:
for i in range(1, 10):
print("")
for j in range(1, i+1):
print("%d*%d=%d" % (j, i, i * j) + " ", end="")
效果如下:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
2. 斐波那契数列
def fib(n):
if n == 1:
return [1]
if n == 2:
return [1, 1]
fibs = [1, 1]
for i in range(2, n):`在这里插入代码片`
fibs.append(fibs[-1] + fibs[-2])
return fibs
输出前 10 个斐波那契数列
print(fib(10))
结果为:
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
3. 输入某年某月某日,判断这一天是这一年的第几天?
year = int(input('year: '))
month = int(input('month: '))
day = int(input('day: '))
months = (0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334)
if 0 < month <= 12:
sum = months[month - 1]
else:
print('data error')
sum += day
leap = 0
if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)):
leap = 1
if (leap == 1) and (month > 2):
sum += 1
print('it is the %dth day.' % sum)
4. 暂停一秒输出
import time
myD = {1: 'a', 2: 'b'}
for key, value in dict.items(myD):
print(key, value)
time.sleep(1)
# 暂停 1 秒
5. 一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。
from sys import stdout
for j in range(2, 1001):
k = []
n = -1
s = j
for i in range(1, j):
if j % i == 0:
n += 1
s -= i
k.append(i)
if s == 0:
print(j)
for i in range(n):
stdout.write(str(k[i]))
stdout.write(' ')
print(k[n])
6. 打印出如下图案(菱形):
*
***
*****
*******
*****
***
*
代码如下:
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("")
7. 输出一个随机数
import random
#生成 10 到 20 之间的随机数
print(random.uniform(10, 20))
8. 绘制一个三角形
from tkinter import *
canvas = Canvas(width=500, height=500, bg='green')
canvas.pack(expand=YES, fill=BOTH)
canvas.create_line(50, 150, 450, 150, width='5', fill='red')
canvas.create_line(50, 150, 250, 450, width='5', fill='red')
canvas.create_line(250, 450, 450, 150, width='5', fill='red')
mainloop()
9. 查找字符串
str1 = 'abcdefg'
str2 = 'cde'
print(str1.find(str2))
10. 画椭圆
if __name__ == '__main__':
from tkinter import *
x = 360
y = 160
top = y - 30
bottom = y - 30
canvas = Canvas(width=400, height=600, bg='white')
for i in range(20):
canvas.create_oval(250 - top, 250 - bottom, 250 + top, 250 + bottom)
top -= 5
bottom += 5
canvas.pack()
mainloop()
11. 八进制转10进制
if __name__ == '__main__':
n = 0
p = input('input a octal number:\n')
for i in range(len(p)):
n = n * 8 + ord(p[i]) - ord('0')
print(n)
12. 计算字符串中子串出现地次数
if __name__ == '__main__':
str1 = input('请输入一个字符串:\n')
str2 = input('请输入一个子字符串:\n')
n_count = str1.count(str2)
print(n_count)
13. 列表转换为字典
i = ['name', 'keven']
j = ['age', '22']
print(dict([i, j]))
14. 打印出杨辉三角形(要求打印出10行)
if __name__ == '__main__':
a = []
for i in range(10):
a.append([])
for j in range(10):
a[i].append(0)
for i in range(10):
a[i][0] = 1
a[i][i] = 1
for i in range(2, 10):
for j in range(1, i):
a[i][j] = a[i - 1][j - 1] + a[i - 1][j]
from sys import stdout
for i in range(10):
for j in range(i + 1):
stdout.write(str(a[i][j]))
stdout.write(' ')
print("")
如图:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1