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)。
注意点:
- 你的代码里缺少
import random语句,运行前一定要加上,否则会报错NameError: name 'random' is not defined。 display函数里的原代码print("total = " + total)会报错,因为total是整数,不能直接和字符串拼接。用f-string或者str(total)转换后拼接都可以解决这个问题。
内容的提问来源于stack exchange,提问作者M. Pollino
相关产品推荐
相关产品推荐

