后端小张 2022-02-18 01:50 采纳率: 93%
浏览 43

Python初学者的问题

题目是:
123321是一个非常特殊的数,它从左边读和从右边读是一样的。
输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。

 

img

  

1.我想问下这里的j表示啥意思
2.我想知道int(str1[j])为啥要这样写呢,这样写表达的意思是什么我没看太懂

  • 写回答

2条回答 默认 最新

  • 星浩前进中 2022-02-18 03:42
    关注

    首先第一个for循环是将10000到1000000之间的数字都进行了遍历。

    举个例子,当遍历到10005时,将10005转换成str类型,方便后面的从右看赋值给str2,下面str2是将数字从右看,此时str2=5001。在第二个for循环中,in后面的rang(str1)是算出10005是多少位的数字,这里是5,所以这里的for j in...是为了循环5次,同时这里的j也有定义后面str1的索引值的作用,比如循环的第一次,此时j=0,得到str1[0]=1。循环第五次时,此时j=4,得到str1[4]=5。

    至于int(str1[j]),是因为不用int转换的话,str1是字符串类型,不能进行数值相加。字符串相加是进行字符串拼接。比如a=5(str类型的),b=6(str类型的),a+b=56。只有a=5(int类型的),b=6(int类型的),a+b=11

    如果解决了你的问题,麻烦点下采纳

    评论

报告相同问题?

问题事件

  • 创建了问题 2月18日

悬赏问题

  • ¥15 Opencv(C++)异常
  • ¥15 VScode上配置C语言环境
  • ¥15 汇编语言没有主程序吗?
  • ¥15 这个函数为什么会爆内存
  • ¥15 无法装系统,grub成了顽固拦路虎
  • ¥15 springboot aop 应用启动异常
  • ¥15 matlab有关债券凸性久期的代码
  • ¥15 lvgl v8.2定时器提前到来
  • ¥15 qtcp 发送数据时偶尔会遇到发送数据失败?用的MSVC编译器(标签-qt|关键词-tcp)
  • ¥15 cam_lidar_calibration报错