重要提示:如下四个题都很类似,从简到难不等,请注意:尽管要求输入数字,但如果数字本身在题目中不需要参与计算,那么可以直接把这个数字当字符串来处理即可。如果数字参与计算了,可以把每个数字通过 eval() 或 int() 转换即可。
这四个题目考察大家输入,输出,循环,字符串里每个字符的索引怎么取,正向取还是倒序取的问题,多动脑筋,也可以参考每题的具体提示:
1. 输入一个正整数N(10<=N<=100000),倒序输出这个正整数,并打印出来。
例如:输入: 2389,输出:9832
2. 输入一个正整数N(10<=N<=100000),分别打印个位数开始到最后一位的数字。
例如:输入: 2389
输出:
个位:9
十位:8
百位:3
千位:2
提示:此题可以模仿如下做过的题目来做:
3. 输入一个正整数N(10<=N<=100000),要求从个位数开始,如果该位数字是奇数则减1,如果该位数是偶数则加1,并输出最终的数字。
例如:输入:23890
输出: 32981
提示:先用for循环遍历这个数字字符串N,把每个字符转换为数字后,再判断是否为奇数或偶数。
4. 输入一个正整数N(10<=N<=100000),求出所有奇数位的和,求出所有偶数位的和,(个位是1,从1开始算),奇数位分别是个位,百位,万位,偶数位分别是十位,千位,十万位。
例如:输入: 27431
输出:
奇数位的和是:7
偶数位的和是:10
提示:使用 for c in range(m,n,-1): # 倒着取索引
如上输入,此时m可以取字符的长度-1,n可以为0,
那么第一次循环时,c的取值是 m,如果按照上述输入的27431来看,此时m=len('27431')-1,为4
N[4]就是个位的1,在循环外面再放一个计数器,初始值为0,循环执行一次计数器加一次,就能求出当前的数字是奇数位还是偶数位,
再根据题意开始做题。