1 打印 99乘法表:
for i in range(1,10):print('\n'.join(map(lambda x:''.join(map(lambda y: "%s x %s = %s" % (x, y, x * y), range(1,10))), range(1,10))))
判断素数:
n = int(input("请输入一个数: "))
if n <= 1:
print("不是素数")
quit() # 退出程序
for x in range(2, n):
if n % x == 0:
print("不是素数")
break
else:
print("是素数")
# 用while 语句生成如下字符串:
# 打印结果:
# 1) "ABCD......XYZ"
# 2) "AaBbCcDc...XxYyZz"
# 知识点 :
# chr, ord(), while 语句, 变量等
s1 = '' # 用于保存"ABCD....XYZ"
s2 = '' # 用于保存"AaBbCcDc...XxYyZz"
b = ord('A') # 65 开始
e = ord('Z') # 90 结束
while b <= e:
s1 += chr(b)
s2 += chr(b)
s2 += chr(b + 32)
b += 1
print(s1)
print(s2)
算出 100 ~ 1000 以内的水仙花数(Narcissistic number)
# 水仙花数是指百位的3次方 加 十位的3次方 加 个位的三次方等于原数
# 例:
# 153 = 1**3 + 5**3 + 3**3
# 答案: 153, 370 ....
# 方法1
# for x in range(100, 1000):
# bai = x // 100
# shi = (x % 100) // 10
# ge = x % 10
# m = bai ** 3 + shi ** 3 + ge ** 3
# if x == m:
# print(x)
# 方法2
# for x in range(100, 1000):
# s = str(x)
# bai = int(s[0])
# shi = int(s[1])
# ge = int(s[2])
# m = bai ** 3 + shi ** 3 + ge ** 3
# if x == m:
# print(x)
# 方法3
for bai in range(1, 10):
for shi in range(0, 10):
for ge in range(0, 10):
# print(bai, shi, ge)
m = bai ** 3 + shi ** 3 + ge ** 3
x = bai * 100 + shi * 10 + ge
if x == m:
print(x)
# 计算完全数:
# 完全数是指除自身以前的所有因数之和相加,等于自身的数
# 1 + 2 + 3 = 6
# 1,2,3都为6的因数
# 1 * 6 = 6
# 2 * 3 = 6
# 求4~5个完全数
n = 2
while True:
# 计算完全数
# 求因数和
s = 0
for x in range(1, n):
if n % x == 0: # 此时是因数
s += x # 所有因数的和
if s == n: # 完全数
print(n)
n += 1
# 1. 用字符串 * 号打印圣诞树
# 输入一个数,代表圣诞树的树干高度
# 输入:2
# *
# ***
# *
# *
# 输入:3
# *
# ***
# *****
# *
# *
# *
# 分析
# * # 1
# *** # 2
# ***** # 3
# i 表求当前行数, 星号个数 2*i-1
# 空格个数 n - i
n = int(input("请输入高度"))
for i in range(1, n + 1):
print(' ' * (n - i) + "*" * (2 * i - 1))
for i in range(n):
print(' ' * (n - 1) + "*")
# 有一些数存于列表中.如:
# L = [1, 3, 2, 1, 6, 4, 2, ....., 99, 82]
# 要求将列表中只出现一次的元素存入另一个列表L2中
L = [1, 3, 2, 1, 6, 4, 2, 99, 82]
# L2 = [3, 6, 4, 99, 82]
L2 = []
for x in L:
if L.count(x) == 1:
L2.append(x)
print(L2)
# 将10000以内的所有素数存于列表中,求这些素数的和
L = []
for x in range(2, 10001):
for i in range(2, x):
if x % i == 0:
break
else:
L.append(x)
print(sum(L))
# 1. 写一个程序,先输入一些单词和解释,
# 将单词作为键,将解释作为值,将这此数据输入字典中.
# 以输入单词为空结束输入.
# 然后循环提示请输入要查找的词:
# 如果不存在于字典中提示没找到,如果存在,打印出解释
d = {}
while True:
w = input("请输入单词:")
if not w:
break
c = input("请输入解释:")
d[w] = c # 放入字典
while True:
w = input("请输入查找的单词: ")
if w == 'q': # 定义q退出
break
if w in d:
print(d[w])
else:
print("没找到您输入的单词")
输入任意5个学生的 姓名,年龄,成绩,每个学生的信息
# 存入字典,然后把学生信息的字典放入列表中.
# 每个学生的信息需要手动输入
# 内部存储格式如下:
# [{"name":"tarena", "age": 20, "score": 99},
# {"name":"xiaozhang", "age": 23, "score": 100},
# .... ]
# 1) 打印所有学生信息如下:
# +-------------+-------------+-----------+
# | 姓 名 | 年 龄 | 成绩 |
# +-------------+-------------+-----------+
# | tarena | 20 | 99 |
# | xiaozhang | 23 | 100 |
# | name2 | 28 | 70 |
# | .... | ... | ... |
# +-------------+-------------+-----------+
# 2) 输入学生的分数线,把高于这个分数线的学生信息打印出来
# 如输入:90 打印如下
# +-------------+-------------+-----------+
# | 姓 名 | 年 龄 | 成绩 |
# +-------------+-------------+-----------+
# | tarena | 20 | 99 |
# | xiaozhang | 23 | 100 |
# +-------------+-------------+-----------+
L = []
# d = {}
for i in range(5):
no = str(i+1)
n = input("请输入第" + no + "个学生的姓名: ")
a = int(input("请输入第" + no + "个学生的年龄: "))
s = int(input("请输入第" + no + "个学生的成绩: "))
d = {"name": n, "age": a, "score": s}
L.append(d)
# d['name'] = n
# d['age'] = a
# d['score'] = s
# L.append(d.copy())
# print(L)
line = "+-------------+-------------+-----------+"
title = '| 姓 名 | 年 龄 | 成绩 |'
print(line)
print(title)
print(line)
# 打印学生的信息
for d in L:
s = ("|" + d['name'].center(13)
+ "|" + str(d['age']).center(13)
+ "|" + str(d['score']).center(11)
+ "|"
)
print(s)
print(line)
max_score = int(input("请输入分数线: "))
line = "+-------------+-------------+-----------+"
title = '| 姓 名 | 年 龄 | 成绩 |'
print(line)
print(title)
print(line)
# 打印学生的信息
for d in L:
s = ("|" + d['name'].center(13)
+ "|" + str(d['age']).center(13)
+ "|" + str(d['score']).center(11)
+ "|"
)
if d['score'] > max_score:
print(s)
print(line)