1、判断输入的边长能否构成三角形,如果能则计算出三角形的周长和面积
length = float(input('请输入边长a(单位cm):'))
width = float(input('请输入边长b(单位cm):'))
hight = float(input('请输入边长c(单位cm):'))
if length + width > hight and length + hight > width and width+ hight > length:
zhouchang = length + width +hight
print('三角形周长为:' + str(zhouchang))
p = (length + width +hight ) / 2
S = p * (p - length) * (p - width) * (p - hight) * 0.5
print('三角形面积为:' + str(S))
else:
print('三边不构成三角形')
2、百钱百鸡是我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何? 翻译成现代文是:公鸡5元一只,母鸡3元一只,小鸡1元三只,用100块钱买一百只鸡,问公鸡、母鸡、小鸡各有多少只?
a=0
for x in range(0, 21):
for y in range(0, 34):
z = 100 - x*5 - y*3 >0
if 5 * x + 3 * y + z / 1 == 100:
a+=1
print('公鸡: %d只, 母鸡: %d只, 小鸡: %d只,总共买入方式: %d种' % (x, y, z*3,a))
3、正整数的反转
num = int(input('num = '))
reversed_num = 0
while num > 0:
reversed_num = reversed_num * 10 + num % 10
num //= 10
print(reversed_num)
4、找出所有水仙花数 水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯特朗数,它是一个3位数,该数字每个位上数字的立方之和正好等于它本身,例如:$1^3 + 5^3+ 3^3=153$。
for num in range(100, 1000):
low = num % 10
mid = num // 10 % 10
high = num // 100
if num == low ** 3 + mid ** 3 + high ** 3:
print(num)
5、打印三角形图案
* ** *** **** *****
row = int(input('请输入行数: '))
for i in range(row):
for _ in range(i + 1):
print('*', end='')
print()
* ** *** **** *****
row = int(input('请输入行数: '))
for i in range(row):
for j in range(row):
if j < row - i - 1:
print(' ', end='')
else:
print('*', end='')
print()
* *** ***** ******* *********
row = int(input('请输入行数: '))
for i in range(row):
for _ in range(row - i - 1):
print(' ', end='')
for _ in range(2 * i + 1):
print('*', end='')
print()
6、输入一个正整数判断它是不是素数
from math import sqrt
num = int(input('请输入一个正整数: '))
end = int(sqrt(num))
is_prime = True
for x in range(2, end + 1):
if num % x == 0:
is_prime = False
break
if is_prime and num != 1:
print('%d是素数' % num)
else:
print('%d不是素数' % num)
7、输入两个正整数计算它们的最大公约数和最小公倍数
提示:两个数的最大公约数是两个数的公共因子中最大的那个数;两个数的最小公倍数则是能够同时被两个数整除的最小的那个数。
x = int(input('x = '))
y = int(input('y = '))
# 如果x大于y就交换x和y的值
if x > y:
# 通过下面的操作将y的值赋给x, 将x的值赋给y
x, y = y, x
# 从两个数中较小的数开始做递减的循环
for factor in range(x, 0, -1):
if x % factor == 0 and y % factor == 0:
print('%d和%d的最大公约数是%d' % (x, y, factor))
print('%d和%d的最小公倍数是%d' % (x, y, x * y // factor))
break
8、 输出乘法口诀表(九九表)
for i in range(1,10):
for j in range(1,i+1):
print(j,str('*'),i,str('='),i*j,end='\t')
print()
#(2)
for i in range(1,10):
for j in range(1,i+1):
print('%d*%d=%d' % (i,j,i * j),end = '\t')
print()
9、猜数字游戏
import random
suiji = random.randint(1,100)
shuzi = 0
while True:
shuzi += 1
caice = int(input('请输入你猜的数字:'))
if shuzi > caice :
print('猜大了')
elif shuzi < caice :
print('猜小了')
else:
print('恭喜你猜对了')
break
print('你一共猜测了:'+str(caice)+'次')
if caice > 7:
print('笨?')
#(2)
import random
answer = random.randint(1, 100)
counter = 0
while True:
counter += 1
number = int(input('请输入: '))
if number < answer:
print('大一点')
elif number > answer:
print('小一点')
else:
print('恭喜你猜对了!')
break
print('你总共猜了%d次' % counter)
if counter > 7:
print('你的智商余额明显不足')