写点什么

python 逆序输出和进制转化(小白也能看懂)

  • 2022 年 6 月 17 日
  • 本文字数:924 字

    阅读完需:约 3 分钟

例题 1(列表逆序输出):

输入 10 个数,逆序输出

解析:将这 10 个数存入列表中,然后使用切片输出。

l = list(map(int,input().split()))				#split()在没带参的情况下是指:以空格为分隔取字符				#map(a,b)是指将b中作用在a,例:map(int,‘3’)即int(‘2’)返回2。				#list(1,2,3,4,5)指[1,2,3,4,5]for i in l[::-1]:				#for i in range l: 指将列表l里面的每个值依次赋给i				#l[::-1] 指将l列表逆序,例[1,2,3,4,5]变为了[5,4,3,2,1]。				#for i in range l[::-1]: 指将列表l逆序然后依次赋给i。    print("{}".format(i),end=' ')    		#print("{}".format(i),end=' ') 指将i依次输出,不再换行,中间以空格分隔。
复制代码

逐条详解:

split()在没带参的情况下是指:以空格为分隔取字符。

map(a,b)是指将 b 中作用在 a,例:map(int,‘3’)即 int(‘2’)返回 2。

list(1,2,3,4,5)指[1,2,3,4,5]。

for i in range l: 指将列表 l 里面的每个值依次赋给 i

l[::-1] 指将 l 列表逆序,例[1,2,3,4,5]变为了[5,4,3,2,1]。

for i in range l[::-1]: 指将列表 l 逆序然后依次赋给 i。

print("{}".format(i),end=' ') 指将将 i 依次输出,不再换行,中间以空格分隔。


输入与输出:

例题 2(进制):

输入一个 10 进制正整数,然后输出它所对应的八进制数

解析:直接使用函数 oct(int,(a,10))

s = input()#s = input() 输入一串字符(注:此处需要以字符串的形式输入)a = oct(int(s,10))#a = oct(int(s,10)) 直接进行强制转换,将10进制转化为2进制print(a[2:])#print(a[2:]) 因为输出的结果会带着八进制的“0o”,所以输出时后需要从去掉前两位,使用切片[2:]直接从第三位开始输出。
复制代码

逐条解析:

s = input() 输入一串字符(注:此处需要以字符串的形式输入)

a = oct(int(s,10)) 直接进行强制转换,将 10 进制转化为 2 进制

print(a[2:]) 因为输出的结果会带着八进制的“0o”,所以输出时后需要从去掉前两位,使用切片[2:]直接从第三位开始输出。

延伸:

10 进制转 8 八进制使用函数 oct(int,(a,10)),,那么二进制,八进制,十进制,十六进制之间是否都能直接转化呢?答案是 YES

bin(int(n,8))   #8转换为2进制oct(int(n,2))   #2进制转化8进制int(n,2)   #2进制转化为十进制hex(n,8)   #八进制转化为十六进制
复制代码


发布于: 刚刚阅读数: 6
用户头像

还未添加个人签名 2022.06.02 加入

喜欢Java和py,会更新自己在学习过程中遇到**比较重要的知识点**以及**自己遇见的问题与解决方法**哦,如果你也正在学Java,就请留下一个关注吧

评论

发布
暂无评论
python逆序输出和进制转化(小白也能看懂)_Python_写代码两年半_InfoQ写作社区