[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[数值计算] 问如何统计随机数字出现次数及我的BAT代码的问题

最近学了一下输出随机数,忽然想统计一下数字的数量
但没有什么好办法,我的想法是把输出的数字与所有数字对比,
虽然感觉这样循环比对是可以用for做到,但我不会
所以写成下面这样,但又怕写错,所以写了一半不写了先测试一下
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /l %%i in (1,1,50) do set /a var=!random!%%10 &if !var!==0 set /a a1+=1 else if !var!==1 set /a a2+=1 else if !var!==2 set /a a3+=1
  4. echo !a1!
  5. pause
复制代码
结果:
(几行或没有"运算符不存在")
数字(例如6,7)
请按任意键继续......
求大佬解释原因并给出正解

回复 1# hfgjgx


调整一下格式再试试:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /l %%i in (1,1,50) do (
  4.     set /a var=!random!%%10
  5.     if !var!==0 (
  6.         set /a a1+=1
  7.     ) else if !var!==1 (
  8.         set /a a2+=1
  9.     ) else if !var!==2 (
  10.         set /a a3+=1
  11.     )
  12. )
  13. echo,!a1!
  14. pause
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

  1. @echo off
  2. if 1 equ 1 (set n=1) else set n=2
  3. echo %n%
  4. set n=
  5. if 1 equ 1 set "n=1" else set n=2
  6. echo %n%
  7. set n=
  8. if 1 equ 1 set n=1 else set n=2
  9. echo %n%
  10. set n=
  11. if 1 equ 2 set n=1 else set n=2
  12. echo %n%
  13. pause
复制代码
bat小白,请多指教!谢谢!

TOP

回复 2# Batcher

输出变正常了,没有输出"运算符不存在"

TOP

回复 3# 77七
你的代码不对吧

TOP

返回列表