Tan*_*ary 3 python bit-shift digits
假设我有以下输入:
1234
Run Code Online (Sandbox Code Playgroud)
如何获得以下输出?
3412
Run Code Online (Sandbox Code Playgroud)
这是通过循环移位(或旋转)输入的数字两次获得的.
我试过以下代码:
number = 1234
bin(number >> 1)
Run Code Online (Sandbox Code Playgroud)
但它没有产生我期待的结果.
该>>运营商做一个二进制位位移.
它将位置的二进制表示移动1234到右侧,丢弃最右侧(最不重要)位.
因此,您的代码不会导致3412.
你可能想要字符串旋转:
>>> def rotr(string, n):
... return string[n:] + string[:n]
...
>>> rotr("1234", 2)
'3412'
Run Code Online (Sandbox Code Playgroud)
您也可以在之后将其转换回整数
>>> int('3412')
3412
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
587 次 |
| 最近记录: |