测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A44250. 要求:设计一个算法,如果一个数从左边读和从右边读都是同一个数,就称为回文数。例如9889就是一个回文数,求对于用户输入的一个非零正整数判断是否为回文数。根据上述算法思想,补全下列代码。示例:输入9889,返回9889是回文数;输入34542,返回34542不是回文数。i = input(“请输入一个非零正整数: ”)n = len(i)if ① : for j in range(int((n+1…

填空题 中等

题目描述

要求:设计一个算法,如果一个数从左边读和从右边读都是同一个数,就称为回文数。例如9889就是一个回文数,求对于用户输入的一个非零正整数判断是否为回文数。

根据上述算法思想,补全下列代码。

示例:输入9889,返回9889是回文数;输入34542,返回34542不是回文数。

i = input(“请输入一个非零正整数: ”)

n = len(i)

if ①    :

  for j in range(int((n+1)/2)):

       if ②    :

            if n == 2*j+1:

                print(“{}是回文数”.format(i))

        else:

            print(“{}不是回文数”.format(i))

            break

else:

    for j in ③:

        if i[j] == i[n-j-1]:

            if ④:

                print(“{}是回文数”.format(i))

        else:

            print(“{}不是回文数”.format(i))

            break

参考答案

i=input(“请输入一个非零正整数:”) n=len(i) if n%2!=0: for j in range(int((n+1)/2)): if i[j]==i[n-j-1]: if n==2*j+1: print(“{}是回文数”.format(i)) else: print(“{}不是回文数”.format(i)) break else: for j in range(int(n/2)): if i[j]==i[n-j-1]: if n==2*(j+1): print(“{}是回文数”.format(i)) else: print(“{}不是回文数”.format(i)) break

答案解析

① n%2!=0: 或等效答案;(3分)

② i[j]==i[n-j-1]: 或等效答案;(3分)

③ range(int(n/2)) 或等效答案;(2分)

④ n==2*(j+1) 或等效答案;(2分

上一题 下一题