它似乎也有上一道题同样道问题。就是结果可能是倒着的。我还不能用超纲的办法。似乎上一个问题的难点又传到了下面
note:
我建立了一个method_a的变量干脆把整数除16的第一次放到循环外。
这样是不是可以解决呢?
我感觉还是在整除和除于的概念中,没有解脱
我只需进行除法并将余数进行保存。
现在是少了一位余数。
这个余数的结果恰恰就是循环开始的条件产生的。
现在我是设置了条件但不能显示结果。而显示了结果就会进入无线循环。
看了一个小时的抖音。
真TM要疯了
我们不按循环来算
这个是我写的草稿,通过这个我理清了我计算的到底什么。
1234 // 16 = 77 1234 % 16 = 2
77 // 16 = 4 77 % 16 =13
4 // 16 = 0 4 % 16 =4
16进制取除于结果 2 13 4 倒过来 4D2 *13=D
*好经过的智商一样的学习。我成功的明白了。我要找的是余数,而不是别的。
好我继续进行无脑的编写。无限循环的代码设计。我发现了一些新的问题。
也是这段代码让我开始了分析
decimal_num = 1234
while decimal_num // 16 != 0:
if decimal_num % 16 != 0:
print(decimal_num)
这段代码的结果还是无限无限的循环。但是他们打印的结果很有意思。
竟然打印的为1234
按我之前的理解,此处应该打印的是上一行计算的结果呀!!
decimal_num % 16 应该是2呀 可为什么没有呢而是不断的重复1234呢??
难道我想的不对吗?
我好像有理解了,为此又回到了原点。
经过持续的头疼。我又开始了尝试
decimal_num = 1234
conversion_num = ""
a = ""
#我是不是可以在这里改造一下
while decimal_num // 16 != 0:
a = decimal_num % 16
decimal_num //= 16
print(a,decimal_num)
这段代码的问题是。a= decimal_num % 16放在decimal_num //= 16上面,结果就是
2
13
放在decimal_num //= 16下面,就是
13
4
成功了
经过了一上午看抖音、发呆、和别人聊天。反复把自己拉回来做题。
我终于成功了
我加了一段代码
while decimal_num // 16 != 0:
把她变成了
while decimal_num // 16 != 0 or decimal_num % 16 != 0:
我滴个乖乖成功了
2
13
4
太兴奋了接下来我要找个数字试试
我成功了。祝贺我吧。老亚索
decimal_num = 1234
conversion_num = ""
a = ""
while decimal_num // 16 != 0 or decimal_num % 16 != 0:
a = decimal_num % 16
decimal_num //= 16
if a == 10:
a = str("A")
elif a == 11:
a = str("B")
elif a == 12:
a = str("C")
elif a == 13:
a = str("D")
elif a == 14:
a = str("E")
elif a == 15:
a = str("F")
print(a)