python - 如何获取一个 int,将其拆分为数字,进行一些算术运算,然后将其附加到新的 int
问题描述
任务:
给定一个整数作为输入,添加代码以获取各个数字并增加 1。
例如,如果数字为 5,则变为 6。请注意,如果数字为 9,则变为 0。
更多示例
输入:2342 输出:3453
输入:9999 输出:0
输入:835193 输出:946204
我编写了这个函数,但我确定这不是编写此代码的方法,我正在寻找一些技巧来以更简洁、有效的方式编写它。请指教。
def new_num (num):
newnum = []
for i in range (0,len(str(num))):
upper = num%10
print(upper)
num = int(num/10)
print(num)
if upper == 9:
upper = 0
newnum.append(upper)
else:
upper+=1
newnum.append(upper)
strings = [str(newnum) for newnum in newnum]
a_string = "".join(strings)
an_integer = str(a_string)
new_int = int(an_integer[::-1])
return(new_int)
解决方案
你可以这样做:-
n = '2349'
nn = ''
for i in n:
nn += '0' if i == '9' else str(int(i) + 1)
print(nn)
推荐阅读
- java - Antisamy 将单引号转换为双引号
- reactjs - ReactCSSTransitionGroup 或 {CSSTransition, TransitionGroup}
- ripple - XRP 节点有哪些示例?
- botframework - 内容未包装在机器人窗口中
- jenkins - 如何一次在詹金斯创造 100 个工作岗位?
- sql - 在 SQL Server 的列中查找最大值
- json - 如何在 Angular5 和 Ionic3 中从 json 格式检索数据
- javascript - 如何在 JavaScript 中发送和请求 HTTP 方法?
- c++ - 继承自 C 的 C++17 'inline variable' vs 'extern' 关键字的新特性
- xslt - 使用 XSLT 对节点进行交叉评估