题解 | #密码游戏#

密码游戏

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学旅#
全部评论

相关推荐

10-30 22:18
已编辑
毛坦厂中学 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务