Hyjxsssss
发表于 2022-5-2 19:25:19
# 题干:公鸡 5 块一只,母鸡 3 块一只,3 只小鸡算 1 块,要用 100 块钱买 100 只鸡,数量各是多少?
# 公鸡的数量限制 i
# 母鸡的数量限制 j
# 小鸡的数量限制 k
# 金钱的限制条件 5*i + 3*j + k/3 == 100
import time as t
class Mytimer:
def __init__(self, inputfun):
self.inputfun = inputfun
self.show = '请调用 calculate() 计时!'
def __str__(self):
return self.show
__repr__ = __str__
def calculate(self):
self.begin = t.process_time()
self.inputfun()
self.end = t.process_time()
self.uset = self.end - self.begin
self.show = '运行 %s 程序耗时%.5f 秒' % (self.inputfun, self.uset)
def Enumeration_method():
for i in range(0, 21):
for j in range(0, 34):
for k in range(0, 101):
if (i + j + k == 100) and (5*i + 3*j + k/3 == 100):
print('可买公鸡 %d 只,母鸡 %d 只,小鸡 %d 只' % (i, j, k))
def Improve_method():
for i in range(0, 21):
for j in range(0, 34):
k = 100 - i - j
if 5*i + 3*j + k/3 == 100:
print('可买公鸡 %d 只,母鸡 %d 只,小鸡 %d 只' % (i, j, k))
t1 = Mytimer(Enumeration_method)
t1.calculate()
print(t1)
t2 = Mytimer(Improve_method)
t2.calculate()
print(t2)
jiaolong211
发表于 2022-5-7 22:11:50
{:5_101:}
cscscscs
发表于 2022-5-20 13:54:56
123132
wy308019
发表于 2022-6-14 22:17:21
aa
wangxiaolvshi
发表于 2022-6-15 07:06:05
n = 0
for cock in range(21):# 全买公鸡,最多20只
for hen in range(1, 34):
chicken = 100 - cock - hen
if 5 * cock + 3 * hen + chicken * 1 / 3 == 100:
print(f"鸡翁{cock}只,鸡母{hen}只,鸡雏{chicken}只。")
n += 1
print(f"共有{n}种方法")
jhywy
发表于 2022-7-5 10:25:58
{:9_227:}
hxy785815707
发表于 2022-7-6 00:47:52
过来学习学习
13518180125
发表于 2022-9-7 21:20:21
我看看 FOR 语句如何写呢?
zq66
发表于 2022-9-19 15:56:34
答案
张金泉
发表于 2022-11-1 20:45:36
{:5_97:}
hveagle
发表于 2022-11-1 21:31:27
鱼C-小师妹 发表于 2021-2-23 19:06
那小师妹给你加油
最前面加上
**** Hidden Message *****
hveagle
发表于 2022-11-1 21:34:49
万钱万鸡
**** Hidden Message *****
韩林学府
发表于 2022-11-4 11:43:29
1
语与余
发表于 2022-11-13 18:04:32
for cock in range(0,21):
for hen in range(0,33):
for chick in range(0,101):
if cock*5+hen*3+chick/3 == 100 and cock + hen + chick == 100:
print(f'公鸡{cock}只,母鸡{hen}只,小鸡{chick}只')
语与余
发表于 2022-11-13 18:06:35
#优化:知道公鸡和母鸡,再通过100减去公鸡和母鸡的数量得到小鸡的数量,只需要判断价格是否等于100
# for cock in range(0,20):
# for hen in range(0,33):
# chick = 100-cock-hen
# if cock*5+hen*3+chick/3 == 100:
# print('公鸡{}只,母鸡{}只,小鸡{}只'.format(cock,hen,chick))
#while循环
# while cock <= 20:
# hen = 0
# while hen <= 33:
# chick = 0
# while chick <= 100:
# if cock*5 + hen*3 + chick/3 == 100 and cock + hen + chick == 100:
# print('公鸡{}只,母鸡{}只,小鸡{}只'.format(cock,hen,chick))
# chick +=1
# hen +=1
# cock +=1
晴时雨
发表于 2022-11-19 18:36:00
来学习了
罗天才
发表于 2022-11-23 22:04:46
学习一下
罗天才
发表于 2022-11-23 22:09:11
for gj in range(0,100):
for mj in range(0,100):
for xj in range(0,100):
if (gj*5)+(mj*3)+(xj/3)==100 and gj+mj+xj==100:
print(f"公鸡数量 {gj} 母鸡数量 {mj} 小鸡数量 {xj}")
print(f"公鸡价格 {gj*5} 母鸡价格 {mj*3} 小鸡价格 {xj/3}\n\t")
iamjhl
发表于 2022-11-29 10:52:50
for cock in range(0,21)
mrdouzi
发表于 2022-12-19 22:43:56
一堆大佬全都写的英文变量,不是说python支持汉字变量吗,我来个中文的!!!
公鸡 = 5
母鸡 = 3
小鸡 = 1/3
for 公鸡数 in range(0,21):
for 母鸡数 in range(0,34):
for 小鸡数 in range(100 - 公鸡数 - 母鸡数,101,3):
总数 = 公鸡数 + 母鸡数 + 小鸡数
钱数 = 公鸡数 * 公鸡 + 母鸡数 * 母鸡 + 小鸡数 * 小鸡
if 总数==钱数==100:
print('公鸡数 = %d,母鸡数 = %d,小鸡数 = %d'%(公鸡数,母鸡数,小鸡数))