亲爱的魔月 发表于 2022-6-9 18:19

(已解决)求解pyhton问题

本帖最后由 亲爱的魔月 于 2022-6-9 19:01 编辑

输入一个两位数n,计算10~n之间所有个位数小于十位数的两位数的和

怎么想也做不出来了
问题已经解决了 感谢老哥的回答{:1_893:}

sifan785622020 发表于 2022-6-9 18:28

n = int(input("请输入一个数字:"))
res = 0
for i in range(10, n):
    a = i % 10
    b = i / 10
    if a < b:
      res += i
print(res)

xiaosuobjsd 发表于 2022-6-9 18:33

楼上正解

YuanFang0w0 发表于 2022-6-9 18:39

代码:
```python
if __name__ == '__main__':
    while True:
      num = input('二位数')
      if len(num) == 2:
            try:
                int(num)
                break
            except:
                pass
      print('请输入正确的二位数')
    print(f'你输入的二位数是{num}')
    new_num = []
    for i in range(10, int(num) + 1):
      if int(str(i)) < int(str(i)):
            new_num.append(i)
    print(f'从10到{num}的所有个位数小于十位数的数有:', new_num)
    result = 0
    for i in new_num:
      result += i
    print('所有数之和:', result)
```
结果:
> 二位数99
你输入的二位数是99
从10到99的所有个位数小于十位数的数有:
所有数之和: 2970

亲爱的魔月 发表于 2022-6-9 18:41

sifan785622020 发表于 2022-6-9 18:28
n = int(input("请输入一个数字:"))
res = 0
for i in range(10, n):


res += i您好 好像不对 因为我没学过

然后我输入了12结果应该是3 但是输出了21

akanfsq 发表于 2022-6-9 18:48

YeLTYZ 发表于 2022-6-9 18:52

本帖最后由 YeLTYZ 于 2022-6-9 18:53 编辑

sifan785622020 发表于 2022-6-9 18:28
n = int(input("请输入一个数字:"))
res = 0
for i in range(10, n):

n=int(input())
s=0
for i in range(10,n+1):
    if (i%10) < (i//10):
      s+=i
    else:
      s+=0
print(s)
range后面的范围是左闭右开,要把n换成n+1

li270207756 发表于 2022-6-9 18:55

本帖最后由 li270207756 于 2022-6-9 18:57 编辑

# coding = utf-8
def test1(n):
    '''
    输入一个两位数n,计算10~n之间所有个位数小于十位数的两位数的和
    分析:由于所求两位数的和,所以n小于等于100即可,大于100的数也等效99
    :param n:
    :return:add_list
    '''
    if n > 100:
      n = 99
    if n < 10:
      return None
    add_list = []# 存储计算结果,用于存储个位数小于十位数的值。
    for i in range(10, n+1):
      ten_num, one_num = divmod(i, 10)# 内置函数,第一个为商,第二个为余数
      if one_num < ten_num:
            num = ten_num * 10 + one_num
            add_list.append(num)
    return add_list
if __name__ == '__main__':
    test1(80)

亲爱的魔月 发表于 2022-6-9 18:58

YeLTYZ 发表于 2022-6-9 18:52
n=int(input())
s=0
for i in range(10,n+1):


老哥 你的代码写的真不错 这个学到了
    if (i%10) < (i//10):
      

亲爱的魔月 发表于 2022-6-9 19:00

li270207756 发表于 2022-6-9 18:55
# coding = utf-8
def test1(n):
    '''


感谢老哥 {:1_893:}
页: [1] 2
查看完整版本: (已解决)求解pyhton问题