❤️博客主页: iknow181
系列专栏: Python、JavaSE、JavaWeb、CCNP
欢迎大家点赞收藏⭐评论✍
目录
1、输出n以内的质数
2、求n以内最大的m个质数的和,并打印这些质数以及它们的和
方法一
方法二
3、将字符串里的大小写互转
4、使用蒙特卡洛方法计算圆周率
5、给定行、列数之后生成二维数组,如下所示:
方法一:用列表
方法二:直接加
6、制作一个简单的两位整数加减法试卷生成模板
n = int(input('请输入n:'))
for i in range(2, n):
for j in range(2, i):
if i % j == 0:
break
else:
print(i,end=' ')
n = int(input('请输入n:'))
m = int(input('请输入m:'))
sum1 = 0
list1 = []
for i in range(2,n):
for j in range(2,i):
if i % j == 0:
break
else:
list1.append(i)
count = len(list1)
star = count - m
if m < count:
while star < count:
print(list1[star])
sum1 += list1[star]
star += 1
print(sum1)
else:
print(f'{m}太多了,{n}以内最多有{count}个质数,请重新输入!')
n = int(input('请输入n:'))
m = int(input('请输入m:'))
print(f'{n}以内最大的{m}个质数:', end=" ")
sum1 = 0
count = 0
num = n
while count < m:
for j in range(2, num):
if num % j == 0:
break
else:
print(num, end=' ')
sum1 += num
count += 1
num -= 1
print(f'\n这些质数和是:{sum1}')
ord()可将英文字母转换成ASC码的数字,小写和大写的英文字母之间相差32
chr()可将ASC码的数字转换成英文字母
例如:输入字符串"HEllO WorLD",将这个字符串中每个字母的大小写互转
str1 = input('请输入:')
print(f'输入:{str1}')
print(f'输出:', end=' ')
for i in range(len(str1)):
if str1[i] >= 'A' and str1[i] <= 'Z':
print(chr(ord(str1[i]) + 32), end=' ')
elif str1[i] >= 'a' and str1[i] <= 'z':
print(chr(ord(str1[i]) - 32), end=' ')
else:
print(str1[i],end=' ')
计算过程如下: 在边长为2的正方形里,绘制一个半径为1的圆,然后模拟向正方形里随机放置豆子的过程,豆子不 能重叠,假设投进圆里的次数为:n,总的投掷次数为N 圆周率(pi)约等于4*n/N(正方形的面积为4,圆的面积为pi*r^2,两者相除,即可得到前面的 公式)
建模思想!
import random
while True:
N = int(input('您要投多少次:'))
n = 0
count = 0
while count < N:
x = random.uniform(-1, 1)
y = random.uniform(-1, 1)
d = ((x ** 2) + (y ** 2)) ** (1 / 2)
if d >= 0 and d <= 1:
n += 1
count += 1
pi = 4 * n / N
print(f'圆周率pi的值大约为:{pi}')
con = input("continue(y/n):")
if con.lower() == 'n':
break
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
n = int(input('请输入行:'))
m = int(input('请输入列:'))
nm = n * m # 最大数
length = len(str(nm)) # 看最大是几位数
star = 1 # 初始值
for i in range(n):
for j in range(m):
length1 = len(str(star)) # 当前数字的位数
length2 = length - length1 # 当前数字前补零的个数
starlist = [str(star)]
count = 0
while count < length2:
starlist.insert(0, '0')
count += 1
starstr = ''.join(starlist)
print(starstr, end=' ')
star += 1
print()
n = int(input('请输入行:'))
m = int(input('请输入列:'))
nm = n * m # 最大数
star = 1 # 初始值
for i in range(n):
for j in range(m):
print('0' * (len(str(nm)) - len(str(star))) + str(star), end=' ')
print(str(star).zfill(len(str(nm))), end=' ')
star += 1
print()
每次生成10道题,要求学生回答完毕后,给出得分,并标明哪些题目回答错误。同时询问学生是否继续进行测试,回答no即退出,回答yes即继续测试。
例如考试题目: 1. 10 + 20 = 2. 30 - 15 = 3. 45 + 70 = .... 10. 50 - 22 = 正确答案: 1. 10 + 20 = 20 2. 30 - 15 = 15 3. 45 + 70 = 115 .... 10. 50 - 22 = 28 您的得分:90 您做错的题目是: 第1道 是否继续测试(yes/no)
import random
while True:
print('考试题目:')
worrylist = [] # 错题编号
testlist = [] # 题目列表
scores = 100 # 满分100分
for i in range(10):
a = random.randint(10,99)
b = random.randint(10,99)
c = random.choice('+-')
problem = f'{i + 1}. {a} {c} {b} = ' # 题目
problem1 = f'{a}{c}{b}' # 式子
d1 = int(input(problem)) # 输入的答案
d2 = eval(problem1) # 正确答案
testlist.append(f'{problem}{d2}')
if d1 != d2:
worrylist.append(i + 1)
scores -= 10
print('正确答案:')
for j in testlist:
print(j)
print(f'您的得分:{scores}')
print('您做错的题目是:')
for k in worrylist:
print(f'第{k}道')
con = input('是否继续测试(yes/no):')
if con.lower() == 'no':
break