如何用Python检查10-100范围内个位与十位数字相同的数?
问题翻译(原英文提问转中文)
我是编程新手,目前已学习if语句和循环。作业要求找出10到100之间个位与十位数字相同的数(如11、22等)。我认为可通过检查能被11整除的数来生成目标列表,但不知道如何让程序遍历范围并输出结果,甚至不确定思路是否正确,网上查询也无帮助。我并非要他人代做功课,仅需方向指引。以下是我尝试的代码,它反复输出"Error":
#这是我根据网上看到的内容尝试写的,结果它反复输出"Error" for i in range (10,100): count = 0 if i%11==0: count=count+1 else: print("Error.")
思路验证与调整方向
1. 你的核心思路是对的
10到100之间的两位数,个位和十位相同的数确实都是11的倍数(11=11×1,22=11×2…99=11×9),这个逻辑没问题,不用怀疑。
2. 代码问题点
- 循环里每次都把
count重置为0,就算找到符合条件的数,也只是给count加1,但完全没输出目标数; - 只要数不能被11整除就打印"Error",而10-99里大部分数都不符合条件,所以会反复输出错误提示。
3. 几个可尝试的调整方向
- 直接输出符合条件的数:当
i%11==0时,直接用print(i)输出该数即可,else部分完全不需要(不符合的数不用处理); - 收集结果后统一输出:先定义一个空列表
result = [],循环中符合条件就把i加入列表,循环结束后打印整个列表; - 换思路验证(不用整除):把数字拆成十位和个位,用
i//10取十位(整数除法)、i%10取个位,判断两者是否相等,能帮你理解数字拆分逻辑,和整除方法可以对比着试。
内容的提问来源于stack exchange,提问作者ForeverLost20
相关产品推荐
相关产品推荐

