1.数列排序
正确思路:
(1)输入时用list函数以及map函数定义整数列表
(2)用sort函数进行排序,默认是从小到大的顺序
(3)最后根据数列的长度输出,end=" "的作用是输出不换行
正确代码:
需要注意的问题一:列表的表示应该用【】,而不是()
错误写法:(正确写法如上)
问题二:如果以空格为分隔符的话,就不需要在split函数后面加“ ”,直接写split()就可以,错误示范如下:
2.十六进制转八进制
正确思路:
1.定义一个空列表,便于把转换后的放进来
2.所有输入都是字符串形式
3.先转换为十进制,再转换为八进制
正确代码:
不写了,在练习系统里面
问题一:int(s,16)才代表把16进制的s转化为10进制
问题二:从第几位开始输出直接写print(res_2[2:])就可以,中间不用加逗号
拓展:
1.oct()其他进制转换八进制,转换后带0o前缀
2.bin()十进制转换二进制,转换后带0b前缀
3.hex()其他进制转化十六进制,转换后带0x前缀
4.int()其他进制转换十进制
3.十进制转十六进制
一直得45分,实际原理很简单,就是使用hex()函数转换,问题出在字母输出会出现小写,而题目要求大写,所以需要用upper()函数把所有字母转换为大写。
正确代码:
不写了,在练习系统里面
4.回文数
正确思路:
(1)在所有五位数到六位数中间遍历(所以写范围的时候要写到第七位)
(2)再将整数转换为字符串类型,方便后续遍历
(3)定义一个空值,用于比较n的值
(4)比较字符和字符的倒序,如果相等则计算他们的和
(5)和相等就可以输出
正确代码:
问题:不能随便用b+=j,报错提醒:
5.特殊的数字
自己的错误代码先附上,到现在也不知道哪里错了,没有输出结果
正确思路:
(1)将整数i转换为字符串,然后作为单独元素放入列表中
(2)计算值,记得转换为int()类型
(3)输出
正确代码:
其他问题:int不能切分,要换成字符串str()的格式