题解 | #密码游戏#

密码游戏

https://www.nowcoder.com/practice/36641ab168664384aff798ba7ce34bc1

num = int(input())

n_1 = (num // 1000 + 3) % 9
n_2 = (num // 100 % 10 + 3) % 9
n_3 = (num // 10 % 10 + 3) % 9
n_4 = (num % 10 + 3) % 9

n_1, n_3 = n_3, n_1
n_2, n_4 = n_4, n_2

print(f"{n_1}{n_2}{n_3}{n_4}")

有几点收获:

  1. 从一个四位数中提取个位、十位、百位、千位:
  2. 交换数字(Python专有的方式):a, b = (b, a) 利用元组,但小括号可省略。 a, b = b, a
  3. print输出要保持前置的0,因此不能利用乘法把四个数字再组成一个新的四位数。
  4. 如果按照别的方法,为了让加3再取余9的重复动作在循环里实现。把4个数字放进一个列表中,使用for循环遍历列表的时候要注意:不能使用for n in n_list: 因为即使这样做,循环体中对列表中的数字n进行了操作,但没有方法可以改变列表中保存的值,因此后续输出的还是加3取余9之前的数字。要想修改列表中保存的值,唯一的方法只有 列表名[索引] = ... 这种赋值语句。

#Python学旅#
全部评论

相关推荐

哈哈哈看得出来讨论很沸腾了,很高兴了属于是 大家快说说截止目前还有哪家互联网大厂不是双休?(在说谁,在说谁)一起避坑!!
不正经草莓:听红薯来的同事讲,他们之前周六下午6点多就走了,一天也没啥事儿到手6k多工资,要我也加班查看图片
投递小红书等公司6个岗位 > 小红书取消大小周
点赞 评论 收藏
分享
点赞 评论 收藏
分享
04-06 11:24
已编辑
太原学院 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务