编程基础 4

2020-04-26  本文已影响0人  RealAnalysis

Question 5

条件的代码要研究一下 啥资料都不看,纯靠自己感觉写的话,会出现如下问题

期间我想到可以用elseif 结果不尽如人意,没想到竟然是拼写错误...代码里要写成 elsif才对...

然后在此运作正常的基础上,再改了一些,把不需要的 to_f给去掉了也能运作

Question 6

数值对比的时候,还是要先转换成integer 不然会报错

elsif x.to_i < 0

如果不加 to_i就会报错

Question 7

一开始有点慌,强行劝自己镇定点并拿出数学系的神器——草稿纸,结果十分钟之内就搞定了

梳理出网络状的逻辑关系,一层层的写好逻辑就搞定了哈哈哈

Question 8

同样一开始毫无头绪,后来一想,估计也是一层层的写条件逻辑来达成目的

Thought One

三个数值,两两相比,大的再跟第三个比,最后必定得出最大的

用 x > y 还是 x < y 当第一层的筛选逻辑即可? 不对,这样可能会有遗漏...

救命 要谨慎

Thought Two

概率问题 用数学思维思考的话 问题被抽象为

“在三个空出来的位置上 摆放 x y z 三个字母一共多少种组合可能?”

比如 x < y < z 这就是一种摆放方法

所以应该是 3 X 2 X 1 即共六种可能

按照这个逻辑去写代码 就能把全部情况包含进去啦~

嗯 具体写代码时,还是用第一种thought写吧...

欧耶 这写法是对的,就是没有用上哪些 && 或者 || 符号们哈哈哈

还在想没有用上有没有问题,因为教程一般很严谨,果然出问题 测试数值出现如下情况

赶紧开irb测试一下 发现独自判断是对的

所以我估计,还是要用上 && 才能保证结果正确啊

再催死挣扎测试一次

为了找出问题 再测试了一组数据

出现了本不应该出现的 x 结果 这个结果应该只出现在 前半部分 即 x > y的大前提下的,所以不用 && ||这类的符号 果然会导致判断乱跑啊...就是按照代码的优先顺序去执行...

等等 不对 也不是按照优先顺序执行 又跑一组数据测试



这个就不显示 x 了吖 hmmm

老老实实去改了 还是有问题


测试的数值还是有问题

嗯? 等等 再回去看看语法 发现一个地方估计要改?

要加个括号?!不然不能正确执行?

再测试了几个数据后,我怀疑是要添加一个to_f不成?!

如果再把 “else”的部分删掉...

这下怎么测试都没问题了...呼~~总算

这样一思考,感觉没有加 to_f 之前都是默认的stringtype导致比较长的数据自然被当成“大”的数据了吧?无视了小数点导致?

上一篇 下一篇

猜你喜欢

热点阅读