鱼C论坛

 找回密码
 立即注册
查看: 703|回复: 3

零基础新手学python求助!!!!

[复制链接]
发表于 2020-4-16 13:09:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 程序不掉坑 于 2020-4-16 13:16 编辑

第6讲课后作业 -动动手2:爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。
x = 7
i = 1
flag = 0

while i <= 100:
    if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6==5):
       flag = 1  #这里为什么是flag = 1???
    else:
        x = 7 * (i+1)   #这里为什么要 i + 1???
    i += 1   #i = i + 1 有什么用???

if flag == 1:    #这里为什么要flag 是1就是正确阶梯数呢
    print('阶梯数是:', x)
else:
    print('在程序限定的范围内找不到答案!')



第4讲课后作业 -动动手2:

temp = input('请输入一个整数:')
number = int(temp)
while number:   #这里的while number是什么意思??
    i = number - 1
    while i:
        print(' ', end = '')
        i = i - 1
    j = number
    while j:
        print('*', end = '')
        j = j - 1
    print()
    number = number - 1
033020k3eoeyvppljjyyp1.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-16 13:16:24 | 显示全部楼层
本帖最后由 liuzhengyuan 于 2020-4-16 13:25 编辑


flag = 1 表示 这个台阶数是对的,然后最后判断 if flag==1 (也就是判断这个台阶数是不是对的),如果是对的就输出
x = 7*(i+1) 是因为他说 每次走 7 格,能正常走完,所以每次以 7格, 7格 进行枚举


知道 非零为真 吧,他的意思就是在 number 不等于 0 的情况下运行,因为三角形最后是越来越小的,比如这个案例,就是先 8格,7格,…… 然后最后到0格,之后跳出循环。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-16 13:24:21 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-16 19:45:25 | 显示全部楼层
1. flag 就是一个标记,它标记着是否找到阶梯数。一开始将 flag 设置为 0,表示还没有找到阶梯数。之后在寻找的过程中,如果找到了阶梯数,则将 flag 设置为 1 。最后判断 flag 是否为 1,为 1 表示找到了阶梯数,否则表示没找到。

2. 看题目要求可知阶梯数必须是 7 的倍数,所以将 x 一次加上 7 。直接 x = i * 7 也可以,+1 可以不要。因为循环条件是 i <= 100,也就是 i 大于 100 才可以退出循环,所以 i 每次循环都要 +1。你试试去掉 i += 1,如果去掉了程序就会陷入死循环出不来,会没反应。

3. while number 就是当 number 不为 0(即 number != 0)时执行循环。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 14:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表