集智社区
资源加载中,请稍后...
集智社区

集智社区

Sic Parvis Magna

求助(未解决)

关于负基础入门Python第二讲和第三讲的三个问题

发表至课程讨论

Q1.

hans = ["宋江", "卢俊义",  "吴用", "公孙胜", "关胜", "林冲", "秦明"]

# idx表示元素在列表中的索引
for idx, han in enumerate(hans):
    print('#{}:{}'.format(idx + 1, han))

这段代码中的 '#{}:{}'. 是什么意思?

Q2.

        elif i== 100:
            q1=bill_counts[0]>=3 and bill_counts[1]<1
            q2=bill_counts[0]>=1 and bill_counts[1]>=1


            if q2:
                bill_counts[0]-=1
                bill_counts[1]-=1

            if q1:
                bill_counts[0]-=3
            else:
                flag= False
                break

这是 https://jizhi.im/blog/post/live-aipy-part1 的春运题,我觉得这段代码应该是对的呀,也先走的是q2不是q1,但系统判我错?不是很明白……自己手走了一遍也感觉是对的。 更好玩的是,把q1和q2的顺序换回来又对了,有点疑惑……是我哪里写的有问题?还望指教。

Q3. 在第三讲中的有奖问答中,老师问

以下求最小公倍数的函数,返回值为什么要用//而不是/?

def lcm(a, b):

    return a * b // gcd(a,b)

有同学说 因为要取整 但我把之前在计算最小公倍数的代码中 // 改成 / ,依旧能计算并答案就多个.0 所以为什么一定要取整?这计算中应该都是整数吧?还是我已经忘了数学里什么重要的定义? 浮点数和整数的真正区别到底是啥呀?

回复
0
#1
🍶3月前

还有一个

回复
0
#2
🍶3月前

为什么斐波那契数列那道题最后不能用 print(n)而要用 return n? def fib(n):

if n>1:
    return fib(n-1)+fib(n-2)
else:
    return n
回复
0
#3
🍶3月前

感觉问题有点无厘头

回复
0
#4
simbol3月前

'#{}:{}'str.format()的一种用法,可以查看这里

最新回复:收起讨论