随机水果生成器

31 种水果按 7 个植物学分类组织,默认无放回抽取不重复,每条附带分类与植物学要点。

本次抽取概况

指标值

分类统计

植物学分类题库条数本次命中

结果清单

序号水果分类植物学要点

使用方法

打开页面即载入一组默认参数:抽取数量 8、无放回模式、随机种子 20251012,结果区直接给出山楂、橄榄、树莓、无花果、茄子、南瓜、桑葚、苹果八种水果及其分类与植物学要点。修改数量或种子后按回车,或点击“开始抽取”,三张表同步刷新:概况卡、分类统计与结果清单。数量范围 1 到 31,种子范围 0 到 2147483647,超出范围会给出具体提示,例如数量填 40 时会被告知应在 1 到 31 之间。

两种模式对应两种语义。无放回模式先对 31 条题库做 Fisher-Yates 洗牌,再取前 n 个,保证结果不重复,数量上限就是 31;有放回模式每次独立随机,结果可能重复,此时概况卡会给出“去重后几个、重复几次”。种子相同则结果完全可复现,换一个种子就得到另一组确定的结果,不存在“再点一次换个结果”的不确定性。

结果清单默认显示前 12 行,点击“加载更多”展开全部;复制按钮输出制表符文本,导出按钮下载带 BOM 的 CSV 文件。全部运算在当前浏览器内完成,题库固定在页面数据里,不请求任何远程接口。

能解决什么

日常叫“莓”的水果和植物学上的浆果大多不是一回事:番茄、香蕉、茄子、辣椒在植物学上都是真浆果,而草莓不是——草莓的可食部是膨大的花托,表面那些小点才是真正的果实。这个反差是口语分类与植物学分类脱节最典型的例子,也是本页组织题库的依据。随机抽几种水果,顺带把每条的分类与要点列出来,比单独背分类表更容易记住。

本页在站内目录中的名称是随机水果生成器。它适合两类场景:一是聚会、课堂、问卷里需要一组不重复又带知识点的水果名单;二是核对某份“水果分类”资料是否把仁果和聚花果放错。题库按心皮与花托的发育方式分类,不按味道、颜色或食用部位分,因此抽到黄瓜、南瓜这类“菜市场里不是水果”的条目时,分类一栏仍然成立。

原理与变量

随机数采用线性同余发生器:s=(Math.imul(s,1103515245)+12345)&0x7fffffff,取词用 Math.floor(s/2147483647*len)。这里必须用 Math.imul 做 32 位整数乘法:s 乘 1103515245 会超出 2 的 53 次方,用普通乘法会丢掉低位精度,同一种子每次结果都会不同;Math.imul 保留低 32 位,&0x7fffffff 把结果压回 31 位正整数,保证任何浏览器、任何次运行都得到同一串数。

无放回:Fisher-Yates 洗牌后取前 n;有放回:每次 rnd(len) 独立取词

无放回模式执行标准 Fisher-Yates:从数组末尾往前,第 k 步用 rnd(k+1) 取一个下标与第 k 个元素交换,全部交换完再取前 n 个。有放回模式直接调用 n 次 rnd(len),每次都可能命中同一条。两种模式共用同一个 LCG,种子默认 20251012,因此默认输出固定为山楂、橄榄、树莓、无花果、茄子、南瓜、桑葚、苹果;切到有放回后同种子输出柠檬、樱桃、李、无花果、金柑、猕猴桃、杏、李,其中李出现两次,去重后 7 个。

完整示例

默认参数走一遍:31 条题库、7 个分类、无放回、种子 20251012。洗牌后前 8 个依次是山楂(仁果)、橄榄(核果)、树莓(聚合果)、无花果(聚花果)、茄子(真浆果)、南瓜(瓠果)、桑葚(聚花果)、苹果(仁果)。分类统计为仁果 2 个、核果 1 个、聚合果 1 个、聚花果 2 个、真浆果 1 个、瓠果 1 个,无放回保证八条互不重复。

把模式切到有放回、数量与种子不变,输出变成柠檬(柑果)、樱桃(核果)、李(核果)、无花果(聚花果)、金柑(柑果)、猕猴桃(真浆果)、杏(核果)、李(核果):李出现两次,去重后 7 个、重复 1 次。同一种子重复点击“开始抽取”,结果逐字不变;把种子改成 20251013,则得到另一组确定结果,可用于对比不同种子的分布。

对照表

题库共 31 条,按 7 个植物学分类组织:真浆果 6 条、聚合果 3 条、核果 7 条、仁果 3 条、柑果 5 条、瓠果 4 条、聚花果 3 条。下表按题库原序列出全部条目与要点。

水果分类植物学要点
葡萄真浆果整串来自一个花序,果皮果肉都肉质化
番茄真浆果植物学上是浆果,法律上曾是蔬菜(1883 年美国 Nix v. Hedden 案按蔬菜征关税)
猕猴桃真浆果可食部是胎座,那一圈黑点是蜜腺
香蕉真浆果栽培种无籽,果肉由子房壁发育,野生种有硬籽
茄子真浆果与番茄同科,果肉海绵状来自心皮
辣椒真浆果辣味物质辣椒素含量决定史高维尔指数
草莓聚合果日常叫莓但植物学是聚合果,可食部是膨大的花托,表面小点才是真果
树莓聚合果一朵花多个离生雌蕊,摘下时留下中空的花托
黑莓聚合果与树莓同属,区别是摘下时花托留在果上
桃核果内果皮硬化成桃核,中果皮是果肉,外果皮是那层绒毛皮
李核果与桃同属,果面无毛、果核表面有穴点
杏核果核仁含苦杏仁苷,苦仁不可食
樱桃核果果柄长、果核光滑,与欧洲酸樱桃是两个种
橄榄核果鲜果极涩,必须发酵或碱液脱涩后才可食
芒果核果扁平的纤维核紧贴果肉,花前雌雄异株问题影响产量
枣核果干枣的糖以果糖为主,冷藏后甜感更明显
苹果仁果可食部主要是花托,真正的果是芯里那层纸一样的结构
梨仁果果肉石细胞多,品种间粒度差异决定口感
山楂仁果果肉紧实、酸度高,常加工后食用
橙柑果外果皮革质含油胞,瓤瓣其实是内果皮向内突起形成的汁囊
柚柑果瓤瓣易分离,中果皮发育成厚白瓤
柠檬柑果柠檬酸含量可达 5% 以上,是柑橘里最酸的栽培类
橘柑果果皮疏松易剥,瓤瓣 10 左右
金柑柑果果皮可连肉一起吃,因为油胞不苦
西瓜瓠果葫芦科下位子房发育,胎座发达,无籽是三倍体
哈密瓜瓠果厚壁果肉来自中内果皮,网纹是果皮开裂愈合痕
黄瓜瓠果嫩果即食,老熟后果皮木质化、种子变硬
南瓜瓠果果肉碳水以果胶为主,长放后淀粉部分转糖
菠萝聚花果整个花序参与发育,表面每一个眼是一朵花留下的痕迹
无花果聚花果肉质部分是向内凹陷的花托,花藏在里面靠小蜂传粉
桑葚聚花果一朵雌花序发育,每一个小颗粒是一朵花的子房

分类依据是心皮与花托的发育方式:真浆果由单朵花的子房壁发育且果皮果肉全部肉质化;核果的内果皮硬化成核;柑果的外果皮革质含油胞、瓤瓣是内果皮向内突起形成的汁囊;瓠果是葫芦科下位子房发育、胎座发达的类型;聚合果来自一朵花多个离生雌蕊;仁果的可食部主要是花托;聚花果则由整个花序参与发育。

结果边界与舍入

数量 n 为 1 到 31 的整数,填小数会被截断为整数前先提示修改,超出范围直接拒绝并说明合法区间。种子为 0 到 2147483647 的整数,正好对应 LCG 的状态空间上界;负数或超出上限的种子会被拒绝。取词公式 Math.floor(s/2147483647*len) 只做向下取整,不涉及四舍五入,因此同一状态的输出永远一致。

无放回模式下数量上限 31,等于题库条数;有放回模式数量同样限制在 31 以内,避免一次输出过长。概况卡中的“去重后”与“重复次数”只统计本次结果:无放回时二者分别为 n 与 0,有放回时按实际命中计算,默认八次有放回的结果去重后 7 个、重复 1 次。

常见问题

番茄和茄子为什么是浆果?

植物学上的浆果指由单朵花的子房壁发育、果皮果肉全部肉质化的果实。番茄、茄子同科,果肉由心皮发育,符合真浆果定义,和味觉上的“菜”无关。

草莓为什么不是浆果?

草莓的可食部是膨大的花托,表面那些小点才是真正的果实(一群小核果),整体属于聚合果。日常叫“莓”的树莓、黑莓同理,只有葡萄这类单花序肉质化的才是真浆果。

苹果吃的到底是哪部分?

苹果是仁果,可食部主要是花托,芯里那层纸一样的结构才是真正的果皮。桃子正好相反:吃的是中果皮,丢掉的是硬化成核的内果皮。

菠萝和无花果为什么是聚花果?

整个花序参与发育。菠萝表面每一个“眼”是一朵花留下的痕迹;无花果的肉质部分是向内凹陷的花托,花藏在里面,靠小蜂传粉。

为什么种子相同结果就相同?

随机数由固定公式产生:s=(Math.imul(s,1103515245)+12345)&0x7fffffff,取词 Math.floor(s/2147483647*len)。没有调用系统时钟或真随机源,因此同种子必然复现。

有放回模式为什么会重复?

有放回每次独立调用 rnd(len),不把已抽条目移除,所以同一条可能被多次命中。默认八次的结果中李出现两次,去重后 7 个、重复 1 次。

黄瓜和南瓜也算水果?

按植物学分类算。它们是瓠果:葫芦科下位子房发育、胎座发达。本页按心皮与花托的发育方式分类,不按口感或市场习惯分。

题库能自己加条目吗?

不能。31 条题库固定在本页数据里,七类条数(6、7、5、4、3、3、3)与默认输出都由它决定,改动会破坏可复现性,因此页面不提供编辑入口。

相关工具

抽到水果之后,往往还要查热量、算维生素或看膳食比例。以下入口均使用站内实际分类路径: