发布于2021-07-25 07:15 阅读(682) 评论(0) 点赞(16) 收藏(0)
今天都在练习代码,熟悉代码,并且优化昨天的作业,在学习过程中发现滋生存在的错误,
因为我也在学习过程中,所以也会存在一些问题
主要找到分解 隔,十,百位的各个数字,然后带入公式即可
for i in range(100, 1000):
x1 = (i // 100) ** 3#整除100即可得到百位上的数字
x2 = ((i % 100) // 10) ** 3#i对100求余,得到十位百位,然后整除10,得到十位上的数字
x3 = (i % 10) ** 3i#直接整除10,得到个位数
if x1 + x2 + x3 == i:
print(i)
# 补充练习,将一个多位数各个位置上的数字颠倒位置1234---->4321
num = int(input('请输入一个多位数'))
x = num
total = 0
while x > 0:
x, y = x // 10, x % 10
total = total * 10 + y
print(total)
#思路如下,以一个数举例
12345
12345 / 10 = 1234------>5 5* 10
1234 / 10 = 123-------->4 (5*10 +4)*10
123 / 10 = 12---------->3 ((5*10 +4)*10+3)*10
12 / 10 = 1------------>2 (((5*10 +4)*10+3)*10+2)*10
1 / 10 =0-------------->1 (((5*10 +4)*10+3)*10+2)*10+1
首先确定质数的性质,不存在自身和1以外的因子(别问为什么先讲这个题,看完你就知道了)
num = int(input('请输入一个正整数'))
is_prime = True
for i in range(2,num):
if num % i == 0:
is_prime = False
break
# 确定不是质数就可以终止循环
if num > 1 and is_prime = True #1不是质数
print(f'{num}是质数')
print(f'{num}不是质数')
#补充练习
#寻找一百以内的质数
#思路:首先循环1到100,再循环判断这个数是不是质数
for i in range(2, 101):# 1不是质数,从二开始
is_prime = True
for j in range(2, i):#判断是不是质数的问题
if i % j == 0:
is_prime = False
break
if is_prime:
print(i, end=' ') # 用空格 隔开
#补充练习
#打印九九乘法表
n = 9
for i in range(1, n+1):
for j in range(1, i + 1):
f = i * j
print(f'{j} * {i} = {f}', end='\t')#格式化输出乘法表 end = '\t'用于输出对齐
print()#换行
输入三角形三条边长度,如果能构成三角形,计算三角形面积,如果不能的、构成三角形,重新输入,直到3可以构成三角形
思路:利用海伦公式计算
while True#不确定循环次数,用while循环
a = float(input('输入第一条边长='))
b = float(input('输入第二条边长='))
c = float(input('输入第三条边长='))
if a + b > c and a + c > b and b + c > a:
p = (a + b + c) / 2
area = (p * (p - a) * (p - b) * (p - c)) ** (1 / 2)
print(f'该三角形面积为{area}')
break#求出三角形面积,终止循环
else:
print('请重新输入边长')
多次循环求阶乘,带入公式
这个题理解起来还是相对简单的
但是还有一种更为便捷的方法,利用math包里的函数直接求得阶乘
#方法一
m = int(input('请输入一个正整数m = '))
n = int(input('请输入一个正整数(小于m)n = '))
x1 = 1
x2 = 1
x3 = 1
for i in range(1, m + 1):
x1 *= i
pass
for j in range(1, n + 1):
x2 *= j
pass
for q in range(1, m - n + 1):
x3 *= q
pass
print(x1 / x2 / x3)
#方法二
improt math#导入包
m = int(input('请输入一个正整数m = '))
n = int(input('请输入一个正整数(小于m)n = '))
# 直接运用包中的函数进行格式化输出
print(math.factorial(m) / math.factorial(n) / math.factorial(m - n))
#方法二
from math import factorial as f
#这一步可分解为:from math 从math包中 improt factorial 导入该函数 as f 将该函数简化为用f表示
m = int(input('请输入一个正整数m = '))
n = int(input('请输入一个正整数(小于m)n = '))
print(f(m) / f(n) / f(m - n))
for i in range(2, 10001):#循环2 到10000,1本身是质数,可以不用管
temp = 1 #定义一个变量进行,从1开始累加,因为每个数都有1这个因子
for j in range(2, i):#他的因子都小于自身,所以只需要循环2到i即可
if i % j == 0: #满足条件:能够被i整除,就进行累加
temp += j
if temp == i: #满足完美数条件,将其输出
print(i)
思路:循环嵌套
买大公鸡,老母鸡,小鸡仔的钱加起来等于100
大公鸡,老母鸡,小鸡仔加起来一百只
就像以前学的三元一次方程
#初始代码
for i in range(0, 20):#公鸡最多买20只
for j in range(0, 33):#老母鸡最多买
for k in range(0, 99)#小鸡仔最多买99只
if k % 3 == 0 and 5 * i + 3 * j + k * 1 / 3 == 100 and i + j + k == 100:带入条件
print(f'购买公鸡{i}只, 母鸡{j}只,小鸡{k}只')
#改良版
for i in range(0, 20):
for j in range(0, 33):
# 减少循环次数
k = 100 - i - j
if k % 3 == 0 and 5 * i + 3 * j + k * 1 / 3 == 100 and i + j + k == 100:
print(f'购买公鸡{i}只, 母鸡{j}只,小鸡{k}只')
五个人晚上去捕鱼,捕到不计其数的鱼,累到不行要去睡觉,第二天,A第一个醒来,把鱼分成五份, 扔掉多余的一条,拿着自己的一份就走了,B第二个醒来,不知道A已经走了,做了和A一样的事情,扔掉一条刚好分成五份,拿走了自己的,CDE相继醒来也各自做了和AB两人一样的事情(忍不住吐槽,怎么会有那么憨的人,这样都能逮到鱼)求他们至少捕到多少鱼
思路
最少的肯定是一条, 虽然不够分,但是但是方便计算
因为不确定需要循环的次数,所以用whil循环
定义一个终止循环的钥匙is_enough = Ture,当满足条件是用break终止循环
然后在while循环中用for循环判断鱼的数量
当鱼的数量符合条件时退出for循环(鱼需要分五次,所以只需要五次循环,但是五次都没有分出来就重新进行for循环)
for循环满足则is_enough满足条件输出fish,用break终止while循环,程序结束
fish = 1
while True:
is_enough = True
total = fish
for _ in range(5):
if (total -1 ) % 5 == 0:
total = (total - 1) // 5 * 4
else:
is_enough = Flase
pass
if is_enough:
print(fish)
break
else:
fish += 1
import random
answer = random.randrange(1, 101)
while True:
is_right = True
for _ in range(7):
gass = int(input('你猜它是几'))
if answer == gass:
print('恭喜你猜对了')
break
elif gass > answer:
print('小一点')
is_right = False
pass
else:
print('大一点')
is_right = False
if is_right:
break
else:
print('智商余额不足')
x = 0
count = 0
x1 = 100
for _ in range(10):
a = int(input('请输入一个整数'))
count += a
if a >= x:
x = a
elif a <= x1:
x1 = a
avg = count / 10
print(f'最大值为{x},平均数为{avg}, 最小值为{x1}')
原文链接:https://blog.csdn.net/qq_59793097/article/details/119008198
作者:你做的菜有点咸
链接:http://www.pythonpdf.com/blog/article/412/439a10e8d86ba77bc97c/
来源:编程知识网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!