You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何将两个整数合并为一个整数?代码实现咨询

解决方法:合并两个随机数为一个整数

有两种简单的方式可以实现你想要的效果,下面我会详细说明并修正你的代码:


方法1:字符串拼接(直观易懂)

把两个数字转换成字符串拼接后,再转回整数。这种方式最直观,完全符合你想要的"拼接数字"的逻辑:

import random  # 别忘了导入random模块!你的代码里没写这个哦

def display():
    total = setnums()
    print(f"total = {total}")  # 用f-string格式化输出,避免类型错误

def setnums():
    randoma = random.randint(1, 5)
    randomb = random.randint(100, 1000)
    # 字符串拼接后转整数
    return int(str(randoma) + str(randomb))

比如当randoma=2、randomb=150时,str(2)+str(150)得到字符串"2150",再转成整数就是2150,完美符合你的需求。


方法2:数学计算(纯数值操作)

如果你不想用字符串,可以通过数学运算实现:计算randoma乘以10的randomb位数次方,再加上randomb。这种方法适合偏好纯数值操作的场景:

import random

def display():
    total = setnums()
    print(f"total = {total}")

def setnums():
    randoma = random.randint(1, 5)
    randomb = random.randint(100, 1000)
    # 计算randomb的位数,然后用数学方法合并
    digit_count = len(str(randomb))
    return randoma * (10 ** digit_count) + randomb

比如randomb=150是3位数,10**3=1000,2*1000+150=2150,结果和字符串方法一致。而且这个方法自动适配randomb的位数(比如randomb=1000时是4位数,10**4=10000,randoma=3的话就是3*10000+1000=31000)。


注意点:

  1. 你的代码里缺少import random语句,运行前一定要加上,否则会报错NameError: name 'random' is not defined。
  2. display函数里的原代码print("total = " + total)会报错,因为total是整数,不能直接和字符串拼接。用f-string或者str(total)转换后拼接都可以解决这个问题。

内容的提问来源于stack exchange,提问作者M. Pollino

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:05:29