我会使用set还是if更改一些单词?我想这样做,如果某些字符是类型,它将改变它们。如果输入的是字母,则会将其更改为其他字母。防爆。 A = u t = a,如果是,那将是
@echo off
title DNA to mRNA/tRNA
color A
setlocal ENABLEEXTENSIONS
setlocal enabledelayedexpansion
:start
cls
echo Please select what you would like to do.
echo (1) mRNA
echo (2) tRNA
echo (3) Exit
choice /C 123
if ERRORLEVEL 3 exit
if ERRORLEVEL 2 goto tRNA
if ERRORLEVEL 1 goto mRNA
:mRNA
cls
echo Enter the DNA sequence.
set /p mRNA=mRNA:
set a=u
set t=a
set c=g
set g=c
echo %mRNA%
pause
goto start
:tRNA
cls
echo Enter the mRNA sequence.
set /p tRNA=tRNA:
set u=a
set a=u
set g=c
set c=g
echo %tRNA%
pause
goto start
答案 0 :(得分:1)
hirb
答案 1 :(得分:0)
Aacini几乎是正确的,但我不认为替换是非常正确的。
这是我的版本,它首先将所有字母翻译成数字,然后将所有数字翻译成相应的字母。
这可以避免将所有A
转换为U
,然后将所有U
(原始和新翻译的)翻译回A
。
@echo off
setlocal enabledelayedexpansion
set mDNA=ugac
for %%a in ("a=1" "c=2" "g=3" "u=4" "1=u" "2=g" "3=c" "4=a") do (
set "mDNA=!mDNA:%%~a!"
)
echo Translated pattern is %mDNA%