1求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
我的思路:
- 首先是想到要用到循环,循环的次数等于相加的个数(5),然后是要用的输入的数字num(2)乘10的i次方再相加得到每一项的值:
Python代码实现
count = int(input("please input count:"))
num=int(input("please input num"))
#当输入两位数的时候取余
if num>10:
num=int(num/10)
print("num=",num)
re=0
r=0
for i in range(count):
re += num* 10 ** i
r=r+re
print('%d' % re,end='')
if i<count-1:
print('+',end='')
print('')
print('sum=',r)
运行结果
2是一个旋转输出题题目如图
这里是引用
我的思路
- 旋转之后同一行的变成了同一列,所以做一个双层循环,交换位置,有个判断就是循环到最后一列的时候不能再交换了,因为第一次已经交换了,但总次数的最后一次当i=j=2时即最后一次交换是需要的
代码实现
matrix = \
[
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
#默认输出n=3,因为题中是一个n=3的二维数组
#n = int(input("please input n"))
n=3
for i in range(n):
for j in range(n):
#判断就是循环到最后一列的时候不能再交换了,
if j<2:
matrix[i][j], matrix[j][n - i-1] = matrix[j][n - i-1], matrix[i][j]
#print(matrix)
#总次数的最后一次当i=j=2时即最后一次交换是需要的
if i==n-1&j==n-1:
matrix[i][j], matrix[j][n - i-1] = matrix[j][n - i-1],matrix[i][j]
print(matrix)
print("矩阵输出")
print('[')
for i in range(n):
print('[',end='')
for j in range(n):
if j<3:
if j<2:
print(matrix[i][j],end=',')
else:
print(matrix[i][j],end='')
print(']',end='')
if i<2 :
print(',')
print('')
print(']')
运行结果
最后附上一张组长的点赞(哇吼)