例:
输入: a = 5
输出:
*
***
*****
*******
*********
这道开头小菜是比较简单的,首先输出的三角形每一行必须是奇数个数的字符,不然是成不了三角形的;第二就是如何控制居中问题
AC代码# 输出三角形
n = int(input("输入三角形高度:"))
for i in range(1,2*n,2):
a = int((i+1)/2)
b = n-a
print(" "*b,end='')
print("*"*i)
解释
代码非常简单,控制居中问题其实可以转换为控制字符前空格个数的问题,我们来找一下规律
1.显然最长一行即最后一行是顶左写的,因此空格个数为0
2.从下往上数空格数量逐渐成等差数列增多,显然这个差值是1,那么只需要把这种关系通过程序表达式表现即可
问题二:输出乘法表 题目解释:没有啥好解释的,就是输出一个二年级的乘法算数表
例:
本题无输入
输出: 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 = 81AC代码
# 输出乘法表
for i in range(1,10):
for j in range(1,i+1):
if j!=i:
print("{} * {} = {}".format(j,i,i*j),end=" ")
else:
print("{} * {} = {}".format(j,i,i*j))
Random库的使用 常见的使用方法
import random
print( random.randint(1,10) ) # 产生 1 到 10 的一个整数型随机数
print( random.random() ) # 产生 0 到 1 之间的随机浮点数
print( random.uniform(1.1,5.4) ) # 产生 1.1 到 5.4 之间的随机浮点数,区间可以不是整数
print( random.choice('tomorrow') ) # 从序列中随机选取一个元素
print( random.randrange(1,100,2) ) # 生成从1到100的间隔为2的随机整数
a=[1,3,5,6,7] # 将序列a中的元素顺序打乱
random.shuffle(a)
print(a)
课后作业
1.从random 库中选取相应的函数满足下列条件。
(1)随机生成 100内的10个整数。
(2)随机选取0到100间的奇数。
(3)从字符串’abcdefghi’中随机选取4 个字符。
(4)随机选取列表[‘apple’,‘pear’,‘peach’,‘orange’]中的1个字符串。
2.使用for循环实现1+……+n(n输入)
3.分别使用for和while循环求n! (n:0-100(含)间的随机整数)
4.输出7*7的倒三角形
5.乘法表
6.pi的计算
7.角谷猜想
# 随机生成10个随机整数 from random import * for i in range(10): print(randint(1,100)) # 这里100是可以取到的
Promble 2 随机选取0到100间的奇数。 AC代码
# 随机选取0到100间的奇数 from random import * print(randrange(0,49)*2+1) # 奇数k = 2*b + 1是定义,因此跟着定义走就行
Promble 3 从字符串’abcdefghi’中随机选取4 个字符。 AC代码
# 从字符串'abcdefghi'中随机选取4个字符
from random import *
str = "abcdefghi"
list = []
for i in range(4):
list.append(choice(str))
print(list)
Promble 4 随机选取列表[‘apple’,‘pear’,‘peach’,‘orange’]中的1个字符串。 AC代码
# 随机选取列表['apple','pear','peach','orange']中的1个字符串。 from random import * list1 = ['apple','pear','peach','orange'] list = sample(list1,1) print(list)
Promble 5 使用for循环实现1+……+n(n输入) AC代码
# 使用for循环实现1+……+n(n输入)
sum = 0
n = int(input("输入一个n:"))
for i in range(n):
sum += i+1
print(sum)
Promble 6 分别使用for和while循环求n! (n:0-100(含)间的随机整数) AC代码
# 分别使用for和while循环求n! (n:0-100(含)间的随机整数)
import sys
# for循环
ans = 1
n = int(input("输入一个n(0-100):"))
if n == 0:
print("1")
sys.exit(0) # 强制退出
for i in range(1,n+1):
ans *= i
print(ans)
# while循环
ans = 1
n = int(input("输入一个n(0-100):"))
if n==0:
print("1")
else:
i = 1
while(i<=n):
ans *= i
i+=1
print(ans)
# 递归知识点是超纲的,但是表达比较简洁,思维上比较有意思
# 超纲的递归循环
ans = 1
def dg(n):
if n <= 1:
return 1
else:
return n*dg(n-1)
n = int(input("输入一个n(0-100):"))
ans = dg(n)
print(ans)
Promble 7 输出7*7的倒三角形 AC代码
# 输出7*7的倒三角形
for i in range(7,0,-1):
print("*"*i)
Promble 8 乘法表 AC代码
# 输出乘法表
for i in range(1,10):
for j in range(1,i+1):
if j!=i:
print("{} * {} = {}".format(j,i,i*j),end=" ")
else:
print("{} * {} = {}".format(j,i,i*j))
Promble 9 pi的计算 AC代码
# 圆周率的计算
from random import seed, random
dot_point = eval(input("输入点数:"))
seed(123)
hits = 0.0
for i in range(dot_point):
x ,y = random(), random()
dis = pow(x**2 + y**2, 0.5)
if(dis<=1):
hits += 1
Pi = 4*(hits/dot_point)
print('{:.9f}'.format(Pi))
Promble 10 角谷猜想 AC代码
# 角谷猜想
import sys
n = int(input("输入一个正整数N:"))
if n == 1:
print("输入就是1,不需要猜想")
sys.exit(0)
print("证明过程:")
cnt = 0
while n!=1:
cnt += 1
if n%2==1: # 为奇数
print("{} * 3 + 1 = {}".format(int(n),int(3*n+1)))
n = 3*n + 1
else:
print("{} / 2 = {}".format(int(n),int(n/2)))
n/=2
print("恭喜!你证明了角禮谷領猜想!经过了{}步".format(int(cnt)))
今天的题目比较多,但是内容不难,如果有任何疑问都可以在评论区留言讨论~


![[新医科辅修Python作业]控制系统的应用与循环系统深化训练 [新医科辅修Python作业]控制系统的应用与循环系统深化训练](http://www.mshxw.com/aiimages/31/657638.png)
