作业:
*
***
*****
*******
*********
***********
layer = int(input("请输入您要打印的行数:"))
# i = 1
# index = 1
# while i <= layer:
# print("*"*index)
# index += 2
# i += 1
for i in range(1,layer+1):
for j in range(1,i+1):
print("*",end="")
print()
for i in range(1,layer+1):
print("*"*i)
*
**
***
****
*****
******
layer = int(input("请输入您要打印的行数:"))
index = 1
i = 1
j = layer
while i <= layer:
print(" "*(layer-index),"*"*index)
index += 1
i += 1
*
***
*****
*******
*********
***********
layer = int(input("请输入您要打印的行数:"))
# index = 1
# i = 1
# j = layer
# while i <= layer:
# print(" "*(layer-index),"*"*(2*index-1))
# index += 1
# i += 1
for i in range(layer+1):
print(" "*(layer - i),end=" ")
print("*"*(2*i-1))
***********
*********
*******
*****
***
*
layer = int(input("请输入您要打印的行数:"))
# index = layer
# i = 1
# j = 0
# while i <= layer:
# print(" "*j,"*"*(2*index-1))
# index -= 1
# i += 1
# j += 1
for i in range(layer , 0 , -1):
print(" "*(layer - i),end=" ")
print("*"*(2*i-1))
*
***
*****
*******
*********
***********
*********
*******
*****
***
*
layer = int(input("请输入您要打印的行数:"))
index = 1
i = 1
j = layer
while i <= layer:
print(" "*(layer-index),"*"*(2*index-1))
index += 1
i += 1
k = 1
a = layer
while i > 0:
print(" "*k,"*"*(2*(a-1)-1))
k += 1
i -= 1
a -= 1
*
* *
* *
* *
* *
* *
* *
* *
* *
* *
*
layer = int(input("请输入您要打印的行数:"))
# index = 1
# i = 1
# j = layer
# while i <= layer:
# print(" "*(layer-index),"*"*(2*index-1))
# index += 1
# i += 1
# k = 1
# a = layer
# while i > 0:
# print(" "*k,"*"*(2*(a-1)-1))
# k += 1
# i -= 1
# a -= 1
for i in range(layer // 2 + 2):
print(" "*(layer - i), end="")
for j in range(2 * i - 1):
if j == 0 or j == 2 * i - 2:
print("*",end="")
else:
print(" ",end="")
print()
for i in range(layer // 2 , 0 , -1):
print(" " * (layer - i),end="")
for j in range(2 * i - 1):
if j == 0 or j == 2 * i - 2:
print("*",end="")
else:
print(" ",end="")
print()
*
***
* * *
* * *
* * *
***********
* * *
* * *
* * *
***
*
layer = int(input("请输入您要打印的行数:"))
# index = 1
# i = 1
# j = layer
# while i <= layer:
# print(" "*(layer-index),"*"*(2*index-1))
# index += 1
# i += 1
# k = 1
# a = layer
# while i > 0:
# print(" "*k,"*"*(2*(a-1)-1))
# k += 1
# i -= 1
# a -= 1
for i in range(layer // 2 + 2):
print(" "*(layer - i), end="")
for j in range(2 * i - 1):
if j == 0 or j == 2 * i - 2 or j == i - 1 or i == layer // 2 +1:
print("*",end="")
else:
print(" ",end="")
print()
for i in range(layer // 2 , 0 , -1):
print(" " * (layer - i),end="")
for j in range(2 * i - 1):
if j == 0 or j == 2 * i - 2 or j == i - 1:
print("*",end="")
else:
print(" ",end="")
print()
用户输入两个数a、b。如果a能被b整除或a加b大于1000,则输出a;否则输出b。
a = int(input("请输入一个整数:"))
b = int(input("请输入另一个整数:"))
if b // a == 0 or b > 1000:
print(a)
else:
print(b)
请输入一个数,判断这个数是偶数还是奇数,如果使用偶数,请判断从1到该数是3的倍数有哪些,如果是奇数,请判断从1到该数是5的倍数有哪些
a = int(input("请输入一个整数:"))
if a % 2 == 0:
i = 0
while i <= a:
if i % 3 == 0:
print(i,end=" ")
i += 1
if a % 2 != 0:
j = 0
while j <= a:
if j % 5 == 0:
print(j,end=" ")
j += 1
某商店T恤的价格为35元/件(2件9折,3件以上8折),裤子的价格为120 元/条(2条以上9折).小明在该店买了3件T恤和2条裤子,请计算并显示小明应该付多少钱?
print("摩尔商店:")
print("T恤:价格为 35 元/件(2件9折,3件以上8折)")
print("裤子:价格为 120 元/条(2条以上9折)")
a = int(input("请输入购买T恤的数量:"))
b = int(input("请输入购买裤子的数量:"))
price_a = 0
price_b = 0
if a == 2:
price_a = a * 35 * 0.9
elif a >= 3:
price_a = a * 35 * 0.8
if b >= 2:
price_b = b * 120 * 0.9
print("您应该付:"+str(price_a+price_b)+"元")
鸡兔同笼,从上面看有35个头,从下面看有94只脚,请问鸡有几只,兔有几只?
# ji_jio = 0
# tu_jio = 0
# ji_tou = 0
# tu_tou = 0
# ji = 0
# tu = 0
# ji_jio * 2 * ji + tu_jio * 4 * tu == 35
# ji_tou * ji + tu_tou * tu == 94
# print(ji)
# print(tu)
for ji in range(1,36):
tu = 35 - ji
if 2*ji + tu*4 == 94:
print(f'买了{ji}只鸡,买了{tu}只兔')
#f是解析任意变量
猜拳游戏:石头、剪刀、布的游戏
import random
while True:
b = random.randint(1,4)
a = int(input("请输入1-3(1代表剪刀,2代表石头,3代表布)之间整数:"))
if (a == 1 and b == 2) or (a == 2 and b == 3) or (a == 3 and b == 1):
print("兄弟再练练吧🤣🤣🤣!")
elif a == b:
print("点到为止,平手😊😊😊!")
else:
print("有两把刷子哟👍👍👍!")
判断以下哪些不能作为标识符:B 、D
A、a
B、¥a
C、_12
D、$a@12
E、false
F、False
求50~150之间的质数是那些?
# i = 2
# while i <= 150:
# j = 2
# n = 0
# while j < i:
# if i % j == 0:
# n += 1
# j += 1
# if n == 0:
# print(i,end=" ")
# i += 1
# num = int(input("请输入一个大于1的自然数:"))
# for i in range(2 , num):
# if num % i == 0:
# print("不是质素",i)
# elif num % i != 0:
# print("是质数",i)
for num in range(2,151):
flag = True
for i in range(2 , num // 2 + 1):
if num % i == 0:
flag = False
break
if flag:
print(f"{num}是质数")
else:
print(f"{num}是合数")
打印输出标准水仙花数,输出这些水仙花数
for i in range(100 , 1000):
a = i // 100
b = i % 100 // 10
c = i % 10
if i == a ** 3 + b ** 3 + c ** 3:
print(i,end=" ")
验证:任意一个大于9的整数减去它的各位数字之和所得的差,一定能被9整除.
# a = int(input("请输入一个大于9的整数:"))
# if a < 9:
# print("你输入的有误")
# elif a > 9:
# i = a % 10
# j = a / 10 % 10
# print("能被9整除",a - i - j)
num = int(input("请输入一个大于9的整数:"))
count = 0
num2 = str(num)
for i in num2:
count += int(i)
if (num - count) % 9 == 0:
print("验证通过")
count = 0
src_num = 0
while num > 0:
count += num % 10
num //= 10
if (src_num - count) % 9 == 0:
print("验证通过")
一个五位数,若在它的后面写上一个7,得到一个六位数A,
若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此
五位数.
for i in range(10000,100000):
a = range(100000,1000000)
b = range(100000,1000000)
a1 = str(i) + str (7)
b1 = str(7) + str(i)
if int(b1) == int(a1) * 5:
print(i)
# i * 10 + 7
# 6 * 100000 + i
输入三角形的三个顶点坐标,并计算该三角形的三个角分别是多少(角度制)
其中a、b、c分别表示三条边,A、B、C分别表示三边对应的角
输入输出描述
输入六个数据,分别表示三角形三个顶点的坐标x1、y1、x2、y2、x3和y3,数据之间用空格分隔
输出三行,分别为A、B、C三个角的度数,结果保留两位小数
示例
输入:
1 1 6.5 1 6.5 2.5
输出:
15.26
90.00
74.74
from cmath import cos
import math
x1 , y1 , x2 , y2 , x3 , y3 = map(float,input("输入:\n").split())
a = math.sqrt((x1 - x2)**2 + (y1 -y2)**2)
b = math.sqrt((x1 - x3)**2 + (y1 -y3)**2)
c = math.sqrt((x3 - x2)**2 + (y3 -y2)**2)
A = math.degrees(math.acos((a*a-b*b-c*c)/(-2*b*c)))
B = math.degrees(math.acos((b*b-a*a-c*c)/(-2*a*c)))
C = math.degrees(math.acos((c*c-b*b-a*a)/(-2*a*b)))
print(C)
print(B)
print(A)
假设硬币种类分为:一元硬币、两角五分硬币、一角硬币、五分硬币、一分硬币
输入总金额,并将总金额兑换成若干个硬币,并保证所兑换的硬币个数最少
输入输出描述
输入总金额
输出每种硬币的个数
示例
输入:
11.56
输出:
11个一元硬币
2个两角五分硬币
0个一角硬币
1个五分硬币
1个一分硬币
money = float(input(""))
a = money // 1
b = (money - a) // 0.25
c = (money - a - (b*0.25))// 0.1
d = (money - a - (b*0.25) - (c*0.1))// 0.05
e = (money - a - (b*0.25) - (c*0.1) - (d*0.05))//0.01
print("%.0f个一元硬币" %a)
print("%.0f个两角五分硬币" %b)
print("%.0f个一角硬币" %c)
print("%.0f个五分硬币" %d)
print("%.0f个一分硬币" %e)
正多边形是边长相等的多边形,而且所有的角相等,计算正多边形的公式为:
输入输出描述
输入两个数据分别表示边的个数n和边的长度s,数据之间用空格分隔
输出边长为s的正n多边形的面积,结果保留两位小数
示例
输入:
5 6.5
输出:
72.69
import math
n , s = map(float,input("输入:\n").split())
area = (n * s * s) / (4 * math.tan(math.pi/n))
print("%.2f"%area)
计算身体质量指数
题目描述
BMI是根据体重测量健康的方式,通过以千克为单位的体重除以以米为单位的身高的平方计算而出
BMI指数解读如下:
BMI | 解释 |
---|---|
BMI < 18.5 | 超轻 |
18.5 ≤ BMI < 25.0 | 标准 |
25.0 ≤ BMI < 30.0 | 超重 |
30.0 ≤ BMI | 肥胖 |
输入输出描述
输入体重和身高,数据之间用空格分隔
输出BMI指数结果
示例
输入:
60 1.8
输出:
标准
sg = float(input("请输入身高(m):"))
tz = float(input("请输入体重(kg):"))
BMI = tz / (sg*sg)
if BMI < 18.5:
print("过轻")
elif 18.5 <= BMI < 24:
print("正常")
elif 24 <= BMI < 27:
print("过重")
elif 27 <= BMI < 30:
print("轻度肥胖")
elif 30 <= BMI < 35:
print("中度肥胖")
elif BMI >= 35:
print("重度肥胖")
Demo15 判定闰年
题目描述
一个年份如果能被4整除但不能被100整除,或者能被400整除,那么这个年份就是闰年
输入输出描述
输入一个年份
输出Yes表示该年份为闰年,No则表示不是闰年
示例1
输入:
2008
输出:
Yes
示例2
输入:
2002
输出:
No
year = int(input("请输入一个年份:"))
if year % 4 == 0 & year % 100 != 0 | year % 400 == 0:
print("该年为闰年")
else:
print("该年为平年")
Demo16 中彩票
题目描述
随机产生一个两位数数字,然后用户输入一个两位数数字,并根据以下规则判定用户赢得的奖金是多少
(1)输入的数字和随机产生的数字完全相同(包括顺序),奖金为10000元
(2)输入的数字和随机产生的数字相同(不包括顺序),奖金为3000元
(3)输入的数字和随机产生的数字有一位数相同,奖金为1000美元
(4)输入的数字和随机产生的数字都不相同,没有奖金,0元
输入输出描述
输入一个两位数
输出两行,第一行输出那个随机产生的两位数,第二行输出用户的奖金
示例1
输入:
12
输出:
12
10000
示例2
输入:
12
输出:
21
3000
示例3
输入:
12
输出:
23
1000
示例4
输入:
12
输出:
45
0
# import random
# num = random.randint(10,100)
# print(num)
# a = int(input("请输入一个两位数:"))
# num_2 = num // 10 % 10
# num_1 = num % 10
# a_2 = a // 10 % 10
# a_1 = a % 10
# if a == num:
# print("恭喜你获得10000元")
# elif a_1 == num_2 and a_2 == num_1:
# print("恭喜你获得3000元")
# elif a_1 == num_2 or a_2 == num_1 or a_1 == num_1 or a_2 == num_2:
# print("恭喜你获得1000元")
# elif a_1 != num_2 and a_2 != num_1 and a_1 != num_1 and a_2 != num_2:
# print("你太黑了,未中奖🤣🤣🤣")
import random
num = random.randint(10,100)
a = int(input())
num_2 = num // 10 % 10
num_1 = num % 10
a_2 = a // 10 % 10
a_1 = a % 10
print(num)
if a == num:
print("10000")
elif a_1 == num_2 and a_2 == num_1:
print("3000")
elif a_1 == num_2 or a_2 == num_1 or a_1 == num_1 or a_2 == num_2:
print("1000")
elif a_1 != num_2 and a_2 != num_1 and a_1 != num_1 and a_2 != num_2:
print("0")
Demo17 解一元二次方程
题目描述
一元二次方程$ax^2+bx+c=0 (a != 0)$的解可以使用下面的公式计算
其中$b^2-4ac$称为判别式,如果它为正,则方程有两个实数解;为零,方程只有一个实数解;为负,没有实数解
输入输出描述
输入a、b、c三个数据,数据之间用空格分隔
两个解每行输出一个;一个解单行输出;无解则单行输出无实数解,保留两位小数
示例1
输入:
1.0 3 1
输出:
-0.38
-2.62
示例2
输入:
1 2.0 1
输出:
-1.00
-2.62
示例3
输入:
1 2 3
输出:
无实数解
import math
a , b , c = map(float,input("输入:\n").split())
r1 = (-b + math.sqrt(b * b - 4 * a * c)) / (2 * a)
r2 = (-b - math.sqrt(b * b - 4 * a * c)) / (2 * a)
if b * b - 4 * a * c > 0:
print(r1)
print(r2)
elif b * b - 4 * a * c == 0:
print(r1)
elif b * b - 4 * a * c < 0:
print("无实数解")
Demo18 解2×2线程方程
题目描述
如有一个2×2的线程方程组:
你可以使用克莱姆法则解该线性方程:
其中$ad-bc$为判别式,如果为零则输出无解
输入输出描述
输入a、b、c、d、e、f六个数据,数据之间用空格分隔
输出两行,第一行x的解,第二行y的解,保留一位小数
示例1
输入:
9.0 4.0 3.0 -5.0 -6.0 -21.0
输出:
-2.0
3.0
示例2
输入:
1.0 2.0 2.0 4.0 4.0 5.0
输出:
无解
a , b , c , d , e , f = map(float,input("输入:\n").split())
x = (e * d - b * f) / (a * d - b * c)
y = (a * f - e * c) / (a * d - b * c)
a * x + b * y == e
c * x + d * y == f
if a * d - b * c == 0:
print("无解")
else:
print(x)
print(y)
Demo19 未来是周几
题目描述
输入表示今天是一周内哪一天的数字(星期天是0,星期一是1,...,星期六是6)
并输入今天之后到未来某天的天数,然后输出该天是星期几
输入输出描述
输入两个数据,分别表示今日星期几的数字和未来某天的天数,数据之间用空格分隔
输出未来某天是星期几
示例1
输入:
1 3
输出:
星期四
示例2
输入:
0 31
输出:
星期三
a , b = map(int,input("输入:\n").split())
c = b % 7
if a + c % 7 == 1:
print("星期一")
elif a + c % 7 == 2:
print("星期二")
elif a + c % 7 == 3:
print("星期三")
elif a + c % 7 == 4:
print("星期四")
elif a + c % 7 == 5:
print("星期五")
elif a + c % 7 == 6:
print("星期六")
elif a + c % 7 == 7:
print("星期天")
Demo20 本年中的第几天
题目描述
给定某年、某月、某日的一个日期,计算该日是今年中的第几天
输入输出描述
输入三个数据分别表示年、月、日,数据之间用空格分隔
输出该日是今年中的第几天
示例1
输入:
2023 1 28
输出:
28
示例2
输入:
2023 3 2
输出:
61
a , b , c = map(int,input("输入:\n").split())
if a % 4 == 0 & a % 100 != 0 | a % 400 == 0:
if b == 1:
day = c
print(c)
elif b == 2:
day = 31 + c
print(c)
elif b == 3:
day = 31 + 28 + c
print(c)
elif b == 4:
day = 31 + 28 + 31 + c
print(c)
elif b == 5:
day = 31 + 28 + 31 + 30 + c
print(c)
elif b == 6:
day = 31 + 28 + 31 + 30 + 31 + c
print(c)
elif b == 7:
day = 31 + 28 + 31 + 30 + 31 + 30 + c
print(c)
elif b == 8:
day = 31 + 28 + 31 + 30 + 31 + 30 + 31 + c
print(c)
elif b == 9:
day = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + c
print(c)
elif b == 10:
day = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + c
print(c)
elif b == 11:
day = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + c
print(c)
elif b == 12:
day = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + c
print(c)
else:
if b == 1:
day = c
print(c)
elif b == 2:
day = 31 + c
print(c)
elif b == 3:
day = 31 + 29 + c
print(c)
elif b == 4:
day = 31 + 29 + 31 + c
print(c)
elif b == 5:
day = 31 + 29 + 31 + 30 + c
print(c)
elif b == 6:
day = 31 + 29 + 31 + 30 + 31 + c
print(c)
elif b == 7:
day = 31 + 29 + 31 + 30 + 31 + 30 + c
print(c)
elif b == 8:
day = 31 + 29 + 31 + 30 + 31 + 30 + 31 + c
print(c)
elif b == 9:
day = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + c
print(c)
elif b == 10:
day = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + c
print(c)
elif b == 11:
day = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + c
print(c)
elif b == 12:
day = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + c
print(c)
Demo21 剪刀石头布I
题目描述
计算机随机产生一个数字0、1和2分别表示剪刀、石头和布
用户输入数字0、1或2,输出用户赢、计算机赢或平局
输入输出描述
输入数字0、1或2
输出有三行,第一行输出计算机出的啥,第二行输出用户出的啥,第三行输出结果
示例1
输入:
0
输出:
计算机出的 石头
用户出的 剪刀
计算机赢
示例2
输入:
1
输出:
计算机出的 剪刀
用户出的 石头
用户赢
示例3
输入:
2
输出:
计算机出的 布
用户出的 布
平局
import random
while True:
b = random.randint(1,4)
a = int(input("请输入1-3(1代表剪刀,2代表石头,3代表布)之间整数:"))
if (a == 1 and b == 2) or (a == 2 and b == 3) or (a == 3 and b == 1):
print("兄弟再练练吧🤣🤣🤣!")
elif a == b:
print("点到为止,平手😊😊😊!")
else:
print("有两把刷子哟👍👍👍!")
Demo22 三角形的周长
题目描述
输入三角形三边的长度,如果输入合法则计算周长并输出结果;否则输出非法
如果任意两边之和大于第三边则输入都是合法的
输入输出描述
输入三个数据表示三边,数据之间用空格分隔
输出三角形的周长,如果非法则输出非法
示例1
输入:
1 1 1
输出:
3
示例2
输入:
1 3 1
输出:
非法
a , b , c = map(float,input("输入:\n").split())
if a + b > c and b + c > a and a + c > b:
zc = a + b + c
print(zc)
else:
print("非法")
Demo23 一周的星期几
题目描述
泽勒的一致性是一个由泽勒开发的算法,用于计算一周的星期几,公式如下:
(1)$h$是指一周的星期几(0表示星期六、1表示星期天、...、6表示星期五)
(2)$q$是一个月的哪一天
(3)$m$是月份(3表示三月、4表示四月、...、12表示十二月),其中一月和二月都是按照前一年的13月和14月来计数的,所以还得把年份改为前一年
(4)$j$是世纪数,即$\lfloor\frac{year}{100}\rfloor$
(5)$k$是一个世纪的某一年,即$year \% 100$
(6)$\lfloor\rfloor$为向下取整符号
输入输出描述
输入年、月、日三个数据,数据之间用空格分隔
输出该日是周几
示例1
输入:
2013 1 25
输出:
星期五
示例2
输入:
2012 5 12
输出:
星期六
Demo24 直线的交点
题目描述
直线A上的两个点是$(x1,y1)$和$(x2,y2)$,直线B上的两个点是$(x3,y3)$和$(x4,y4)$
如果两条直线有交点,可以通过解下面的线性等式找出:
如果没有解,则表示两条直线平行
输入输出描述
输入八个数据,分别为x1 y1 x2 y2 x3 y3 x4 y4,数据之间用空格分隔
如有交点则输出交点的坐标x y,否则输出两条直线平行
示例1
输入:
2 2 5 -1 4 2 -1 -2
输出:
2.89 1.11
示例2
输入:
2 2 7 6 4 2 -1 -2
输出:
两条直线平行
Demo25 回文数
题目描述
输入一个三位整数,然后判断其是否为一个回文数
如果一个数从左向右和从右向左读取时是一样的,那么这个数就是回文数
输入输出描述
输入一个数字
输出Yes表示是回文数,否则输出No
示例1
输入:
121
输出:
Yes
示例2
输入:
123
输出:
No
a = input("输入:\n")
b = a[::-1]
if a == b:
print("Yes")
else:
print("No")
Demo26 两个矩形
题目描述
判断两个矩形之间的关系:包含,重叠,相离
输入输出描述
输入两行,每行四个数据,分别是矩形的中心坐标x、y和矩形的宽、高
输出两者的关系
示例1
输入:
2.5 4 2.5 43
1.5 5 0.5 3
输出:
包含
示例2
输入:
1 2 3 5.5
3 4 4.5 5
输出:
重叠
示例3
输入:
1 2 3 3
40 45 3 2
输出:
相离
第二部分 循环语句
Demo27 打印数字I
题目描述
利用循环,寻找规律,打印如下数字模式:
模式A 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 1 2 3 4 5 6 模式B 1 2 3 4 5 6 1 2 3 4 5 1 2 3 4 1 2 3 1 2 1 模式C 1 2 1 3 2 1 4 3 2 1 5 4 3 2 1 6 5 4 3 2 1 模式D 1 2 3 4 5 6 1 2 3 4 5 1 2 3 4 1 2 3 1 2 1
print("模式A")
layer = 6
for i in range(1,layer+1):
for j in range(1,i+1):
print(j,end="")
print()
print("模式B")
for i in range(layer,0,-1):
for j in range(1,i+1):
print(j,end="")
print()
print("模式C")
for i in range(layer+1):
print(" "*(layer - i),end=" ")
for j in range(i,0,-1):
print(j,end="")
print()
print("模式D")
for i in range(layer,0,-1):
print(" "*(layer - i),end=" ")
for j in range(1,i+1):
print(j,end="")
print()
Demo28 打印数字II
题目描述
利用循环,寻找规律,打印如下数字模式:
1 2 1 2 3 2 1 2 3 4 3 2 1 2 3 4 5 4 3 2 1 2 3 4 5 6 5 4 3 2 1 2 3 4 5 6 7 6 5 4 3 2 1 2 3 4 5 6 7
layer = 7
for i in range(1,layer+1):
print(" "*(layer - i),end=" ")
for j in range(i , 0 ,-1):
print(j ,end="")
for j in range(2 , i+1):
print(j ,end="")
print()
Demo29 打印数字III
题目描述
利用循环,寻找规律,打印如下数字模式:
1 1 2 1 1 2 4 2 1 1 2 4 8 4 2 1 1 2 4 8 16 8 4 2 1 1 2 4 8 16 32 16 8 4 2 1 1 2 4 8 16 32 64 32 16 8 4 2 1
layer = 7
for i in range(1,layer+1):
print(" "*2*(layer - i),end=" ")
for j in range(1 , i+1 ):
print(2**(j-1) ,end=" ")
for j in range(i-1 , 0,-1):
print(2**(j-1),end=" ")
print()
Demo30 打印菱形I
题目描述
如下所示,是一个高度为9的菱形
* * * * * * * * * * * * * * * * * * * * * * * * *
用户输入菱形高度n,并打印出该高度下的菱形
输入输出描述
输入高度n,n为奇数
输出该高度的菱形
示例
输入:
5
输出:
* * * * * * * * *
layer = int(input("输入:\n"))
for i in range(layer // 2 + 2):
print(" "*(layer - i), end="")
for j in range(i ):
print("*",end=" ")
print()
for i in range(layer // 2 , 0 , -1):
print(" " * (layer - i),end="")
for j in range(i):
print("*",end=" ")
print()
Demo31 打印菱形II
题目描述
如下所示,是一个高度为9的菱形
* * * * * * * * * * * * * * * *
用户输入菱形高度n,并打印出该高度下的菱形
输入输出描述
输入高度n,n为奇数
输出该高度的菱形
示例
输入:
5
输出:
* * * * * * * *
layer = int(input("输入:\n"))
for i in range(layer // 2 + 2):
print(" "*(layer - i), end="")
for j in range(2 * i - 1):
if j == 0 or j == 2 * i - 2:
print("*",end="")
else:
print(" ",end="")
print()
for i in range(layer // 2 , 0 , -1):
print(" " * (layer - i),end="")
for j in range(2 * i - 1):
if j == 0 or j == 2 * i - 2:
print("*",end="")
else:
print(" ",end="")
print()
Demo32 打印菱形III
题目描述
如下所示,是一个高度为9的菱形
* *** ***** ******* ********* ******* ***** *** *
用户输入菱形高度n,并打印出该高度下的菱形
输入输出描述
输入高度n,n为奇数
输出该高度的菱形
示例
输入:
5
输出:
* *** ***** *** *
layer = int(input("输入:\n"))
for i in range(layer // 2 + 2):
print(" "*(layer - i), end="")
for j in range(2 * i - 1):
print("*",end="")
print()
for i in range(layer // 2 , 0 , -1):
print(" " * (layer - i),end="")
for j in range(2 * i - 1):
print("*",end="")
print()
Demo33 猜数字
题目描述
计算机随机生成一个[0,100]之间的整数,程序提示用户连续地输入数字直到它与那个随机生成的数字相同
对于用户输入的数字,程序会提示它是过高还是过低
输入输出描述
每次输入一个整数
每次输出该数字是过高还是过低,如果猜中则输出猜中的数字并结束
示例
输入:50
输出:高了
输入:25
输出:低了
输入:42
输出:高了
输入:39
输出:猜中了!答案就是39
for i in range(0,101):
a = int(input("输入:\n"))
# while i != a:
if a > i:
print("高了")
elif a < i:
print("低了")
elif a == i :
print(f"猜对了!答案就是{a}")
break
Demo34 最大公约数I
题目描述
输入两个正整数,计算其最大公约数,例如4和2的最大公约数是2,16和24的最大公约数是8
输入输出描述
输入两个数字
输出最大公约数
示例1
输入:
16 24
输出:
8
示例2
输入:
7 3
输出:
1
a , b = map(int,input("输入:\n").split())
if a<b:
t = a
a = b
b = t
c = a % b
while c != 0:
a = b
b = c
c = a%b
print(b)
Demo35 判断素数
题目描述
一个大于1的整数如果只能被正整数1和它本身整除,则它就是素数,例如2、3、5和7都是素数,而4、6、8、9则不是
输入输出描述
输入一个大于1的正整数
输出Yes表示该数字是素数,否则输出No
示例1
输入:
9
输出:
No
示例2
输入:
11
输出:
Yes
Demo36 最小公倍数
a = int(input("输入:\n"))
for i in range(2,a):
if a % i == 0:
print("No")
else:
print("Yes")
题目描述
输入两个正整数,计算其最小公倍数,例如4和2的最小公倍数是4,3和5的最小公倍数是15
输入输出描述
输入两个正整数
输出最小公倍数
示例1
输入:
3 9
输出:
9
示例2
输入:
4 6
输出:
12
a , b = map(float,input("输入:\n").split())
a1 = a
b1 = b
while b1:
a1,b1 = b1 , a1 % b1
print(a*b//a1)
Demo37 整数的素因子
题目描述
输入一个正整数,然后找出它所有的最小因子,也称之为素因子
输入输出描述
输入一个正整数
输出多行,每行输出一个素因子
示例1
输入:
120
输出:
2 2 2 3 5
解释:
2 * 2 * 2 *3 * 5 = 120
示例2
输入:
100
输出:
2 2 5 5
num = int(input("输入:\n"))
num1 = 2
while num >= num1:
if num % num1 == 0:
print(num1,end = ' ')
num = num/num1
else:
num1 += 1
Demo38 完全数
题目描述
如果一个正整数等于除了它本身之外所有正因子的和,那么这个数称为完全数
例如 6 = 3 + 2 + 1,28 = 14 + 7 + 4 + 2 + 1
输入输出描述
输入一个正整数
输出该数是否为完全数
示例1
输入:
6
输出:
Yes
示例2
输入:
9
输出:
No
a = int(input("输入:\n"))
c = 0
for i in range(1,a):
if a%i == 0:
c+=i
if c==a:
print("Yes")
else:
print("No")