1、给定奇数,输出横竖斜的总和相等。
size = int(input("输入要打印的SIZE(奇数):"))
array = [[0] * size]
# 创建一个长度size * size的二维列表
for i in range(size - 1):
array += [[0] * size]
row, col = 0, size // 2
for i in range(1, size * size + 1):
array[row][col] = i
if i % size == 0:
row += 1
elif row == 0:
row = size - 1
col += 1
elif col == size - 1:
row -= 1
col = 0
else:
row -= 1
col += 1
for i in range(size):
for j in range(size):
print('%02d' % array[i][j], end=" ")
print()
2、使用循环输出菱形。
lines = int(input("输入要打印的行数(奇数):"))
if lines % 2 == 0:
print('请输入奇数')
import sys
sys.exit(0)
half_lines = lines // 2 + 1
# 打印上半
for i in range(half_lines):
print(" " * (half_lines - i), end="")
print("*" * (2 * i + 1))
# 打印下半
for i in range(half_lines - 1):
print(" " * (i + 2), end="")
print("*" * (lines - 2 - 2 * i))
5、使用循环打印出空心菱形。
lines = int(input("输入要打印的行数(奇数):"))
if lines % 2 == 0:
print('请输入奇数')
import sys
sys.exit(0)
half_lines = lines // 2 + 1
# 打印上半
for i in range(half_lines):
print(" " * (half_lines - i), end="")
if i == 0:
print("*")
else:
print("*", end="")
print(" " * (2 * i - 1), end="")
print("*")
# 打印下半
for i in range(half_lines - 1):
print(" " * (i + 2), end="")
if i == half_lines - 2:
print("*")
else:
print("*", end="")
print(" " * (lines - 4 - 2 * i), end="")
print("*")
6、判断101-200之间有多少个素数,并输出所有素数。
start = 101
end = 200
for i in range(101, end + 1):
is_prime = True
for j in range(2, int(i ** 0.5) + 1):
if i % j == 0:
is_prime = False
if is_prime:
print(i)
7、输入一串字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
string = input("请输入一行内容: ")
char_num, digit_num, other_num = 0, 0, 0
for c in string:
if c.isdigit(): digit_num += 1
elif c.isalpha(): char_num += 1
else: other_num += 1
print('字母个数', char_num)
print('数字个数', digit_num)
print('其他字母个数', other_num)
8、打印近似圆,只要给定不同的半径,圆的大小就会随之发生改变。
radius = int(input("请输入半径: "))
for i in range(2 * radius + 1):
half = round((radius ** 2 - (radius - i) ** 2) ** 0.5)
print(" " * (radius - half), end="")
print("*", end="")
print(" " * half * 2, end="")
print("*")
9、定义一个函数,该函数可以接收一个list作为参数,该函数使用直接选择排序对list排序。
def choose_sort(list):
list_len = len(list)
# 拿第一个和后面的比,总把小的换到第一个,以此类推
for i in range(0, list_len):
for j in range(i + 1, list_len):
if list[i] > list[j]:
list[i], list[j] = list[j], list[i]
list1 = [3, 6, 1, 8, 5, -20, 100, 50, 200]
choose_sort(list1)
print(list1)
10、定义一个函数,该函数可以接收一个list作为参数,该函数使用冒泡排序对list排序。
def maopao(a_list):
a_len = len(a_list)
for i in range(a_len):
is_sorted = True
# 每次都把最大的那个沉下去
for j in range(0, a_len-i-1):
if a_list[j] > a_list[j+1]:
a_list[j], a_list[j+1] = a_list[j+1], a_list[j]
is_sorted = False
if is_sorted:
return #如果某次循环没有发生交换,就提前结束
a_list = [3, 6, 1, 8, 5, -20, 100, 50, 200, -32, 123]
maopao(a_list)
print(a_list)