月半三木 发表于 2021-5-29 21:08:29

怎样统计运算次数

print('red\tyellow\tgreen')
for red in range(0, 4):
    for yellow in range(0, 4):
      for green in range(2, 7):
            if red + yellow + green == 8:
                # 注意,下边不是字符串拼接,因此不用“+”哦~
                print(red, '\t', yellow, '\t', green)
以上代码是课后习题中统计拿8个球的拿法,然后依次列举,想问一下,如何改编,才能直接显示,一共有几种拿法呢

柿子饼同学 发表于 2021-5-29 21:13:32

本帖最后由 柿子饼同学 于 2021-5-29 21:14 编辑

i = 0

for red in range(0, 4):
    for yellow in range(0, 4):
      for green in range(2, 7):
            if red + yellow + green == 8:
               i += 1

print('一共有', i, '种方法')
代码大体是一样的,只是加了一个变量用来计数{:10_279:}

suchocolate 发表于 2021-5-29 21:14:00

你的意思是不计算直接print结果?

月半三木 发表于 2021-5-29 22:15:21

suchocolate 发表于 2021-5-29 21:14
你的意思是不计算直接print结果?

是的是的,就是直接打印出一共有几种结果

suchocolate 发表于 2021-5-30 07:22:50

月半三木 发表于 2021-5-29 22:15
是的是的,就是直接打印出一共有几种结果

computer并不知道结果,只有按照算法计算后才能输出结果。
如果不想计算,直接输出结果,那么只能是拿别人计算好的结果输出。

月半三木 发表于 2021-5-30 08:48:53

suchocolate 发表于 2021-5-30 07:22
computer并不知道结果,只有按照算法计算后才能输出结果。
如果不想计算,直接输出结果,那么只能是拿别 ...

那有没有办法在把所有结果打印出来之后,对打印次数进行count呢

suchocolate 发表于 2021-5-30 14:02:32

月半三木 发表于 2021-5-30 08:48
那有没有办法在把所有结果打印出来之后,对打印次数进行count呢

拿还是要计算的

月半三木 发表于 2021-5-30 18:01:01

suchocolate 发表于 2021-5-30 14:02
拿还是要计算的

你看看我设置的最佳回复吧

suchocolate 发表于 2021-5-30 18:06:24

月半三木 发表于 2021-5-30 18:01
你看看我设置的最佳回复吧

那个也是计算了的啊!

月半三木 发表于 2021-5-30 18:07:21

suchocolate 发表于 2021-5-30 18:06
那个也是计算了的啊!

啊,,对,看来是我之前的表述不清楚让你误会了,我的意思是不需要人手动计算

suchocolate 发表于 2021-5-30 18:13:34

月半三木 发表于 2021-5-30 18:01
你看看我设置的最佳回复吧

所以你的意思是 “不用每次都打印,而是在结束前打印总个数”。
那请你以后把想法表达清楚,我问“你的意思是不计算直接print结果?”,你说是的。我当然告诉你算法和computer的关系了。不用特意回复我了,谢谢。
页: [1]
查看完整版本: 怎样统计运算次数