输入一个正整数n,要求输出其位数,并分别以正序和逆序输出各位数字。
输入格式:
首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试输入一个整数n(int范围内)。
输出格式:
对于每组测试数据,输出n的位数,然后分别以正序和逆序输出各位数字,每两个数据之间用一个逗号“,”分隔。
输入样例:
2
12345
246
输出样例:
5,1,2,3,4,5,5,4,3,2,1
3,2,4,6,6,4,2
n = int(input())
for i in range(n):
num = input().strip()
length = len(num)
res = [int(x) for x in num] + [int(x) for x in reversed(num)]
res_str = ",".join([str(x) for x in res])
print(f"{length},{res_str}")
n = input('输入正整数T:')
temp, result = [], []
for i in range(int(n)):
num = int(input('输入第{}个数字'.format(i + 1)))
count = 0
while num > 0:
count += 1
temp.append(num % 10)
num //= 10
ans = [count]
ans.extend(temp[::-1])
ans.extend(temp)
result.append(ans)
temp.clear()
for i in result:
print(','.join(map(lambda x: str(x), i)))
不知道你这个问题是否已经解决, 如果还没有解决的话:n = int(input())
youlishus = input().split() #得到各个分数(有理数字符串)
fenzi_fenmus = [yls.split('/') for yls in youlishus] #每个分数存储为列表元素,元素有两项:[分子, 分母]
fenzi_fenmus = [[int(zi), int(mu)] for zi, mu in fenzi_fenmus] #把分数的分子和分母转换为整数类型
#把多个分数加起来
#分母的公倍数(不必要是最小公倍数)
fenmu_chengji = 1
for zi, mu in fenzi_fenmus:
fenmu_chengji *= mu
#分母扩大为公倍数,分子相应地扩大
fenzi_fenmus = [[zi * fenmu_chengji // mu, fenmu_chengji] for zi, mu in fenzi_fenmus]
#把各个分子加起来
fenzi_he = 0
for zi, mu in fenzi_fenmus:
fenzi_he += zi
# print("%d/%d"%(fenzi_he, fenmu_chengji))
if fenzi_he == 0:
print(0) #最终结果为0
else:
#求出分子fenzi_he与分母fenmu_chengji的最大公约数
left = fenmu_chengji
right = abs(fenzi_he)
while left % right != 0:
left, right = right, left % right
gys = right
#约分
r_fenzi = fenzi_he // gys
r_fenmu = fenmu_chengji // gys
if r_fenzi >= 0:
r_zhengshu = r_fenzi // r_fenmu
r_fenshu = r_fenzi - r_zhengshu * r_fenmu
else:
#处理负数
r_zhengshu = abs(r_fenzi) // r_fenmu
r_fenshu = abs(r_fenzi) - r_zhengshu * r_fenmu
r_zhengshu = -r_zhengshu
if r_zhengshu == 0:
r_fenshu = -r_fenshu
if r_fenshu == 0:
print(r_zhengshu if r_zhengshu != 0 else r_fenzi)
elif r_zhengshu == 0:
print("%d/%d"%(r_fenshu, r_fenmu))
else:
print("%d %d/%d"%(r_zhengshu, r_fenshu, r_fenmu))