20210609 py判断五字回文(强化循环判断)

2021-06-11  本文已影响0人  DZhhho

20210609 start

今日目标

其他方法解决回文练习——比如序列法? a[::-1]

完成阶段练习

高级数据结构——梳理归类,方便记忆

break continue 难度还需加深理解

写入文档 后续

案例:判断一个数是否为5位回文数,如果不是5位数,需重新输入数。

# 思路20210609

如果有 go to loop语法也行,如果不是5位数,可以再从头开始去做判断。

——不过目前忘了 go to loop怎么做了

我今天的思路是——只要一直没有输入对,就一直执行,如何判断是不是5位数,可以根据len()长度,但是发现int没有长度,str可以测量长度,所以先测量input输入内容长度,再转为int型进行地板除和取余

具体实现代码——

while True:

    number = input("请输入一个五位数:")

    if len(number)==5: 

        number = int(number) # int型是没有长度的,str字符串型,才有长度,可以用len(num)

        g = number % 10

        s = number // 10 % 10

        b = number // 100 % 10

        q = number // 1000 % 10

        w = number // 10000

        # 请你补全以下四行代码

        if g==w and s==q:

            print('yes')

            break

        else:

            print('no')

参考答案思路

5位数就是在【10000,99999】数字区间,故判断input数值后int,是否在区间内

?不知道两种思路对内存的占用率是否有差异,哪种更优?

我觉得我判断len的方法更优,因为简单,需要做比较的少,数字比较,感觉会更耗内存一些。

案例——猜数字游戏,给一个区间,猜正确值,逐渐缩小范围

# 思路20210609

# 换边-拿guess值换low或者high边界,逐步缩小范围

num=input('plz input true num\n')

low=input('plz low\n')

high=input('plz high\n')

#print('from %d to %d',low,high) 已经忘了简单输出怎么输出了

print('from {} to {}'.format(low,high)) #只记得format了

c=0

while c<5:

    guess=input('guess,plz\n')

    if guess==num:

        print('right!')

        break

    elif guess>num: #很神奇 有一会儿 guess>num 就没有执行,重新输入才好

        print('{}比正确值{}大,最大值换成guess了'.format(guess,num))

        high=guess

        print('from {} to {}'.format(low,high))

    else:

        low=guess

        print('from {} to {}'.format(low,high))

    c=c+1

if c==5:

    print('5次都错咯')

收获

int型是没有长度的,str字符串型,才有长度,可以用len(num)

20210609 end

今日目标

其他方法解决回文练习——比如序列法? a[::-1]

完成阶段练习——今天又完成1个阶段练习+1个循环练习,差一个99乘法表没开始做

高级数据结构——梳理归类,方便记忆

break continue 难度还需加深理解——今天又用到了break——go to loop 不记得了

写入文档 后续

接下来

9*9乘法表

高级数据结构

print简单语法?

收获

int没长度,不能用len,str可以

感想

今天有学生和学院建议开始py和数据库的课

我要好好学习,学以致用!赶快能够开展实战!

B站上听了一个计算机与经济双博士的课,觉得能系统地把知识讲出来真棒

我word 理解节——制作页眉页码部分 也有系统性了,感觉自己棒棒哒!

上一篇下一篇

猜你喜欢

热点阅读