首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一个银行函数,循环用户输入并递增/递减,直到在js中输入退出键为止。

银行函数是一个用于模拟银行业务的函数,它可以循环接收用户的输入并根据输入进行递增或递减操作,直到用户输入退出键为止。在JavaScript中,可以使用以下代码实现这个功能:

代码语言:txt
复制
function bankFunction() {
  let balance = 0; // 初始化账户余额为0

  while (true) {
    let input = prompt("请输入要进行的操作:(输入'+'递增,输入'-'递减,输入'q'退出)");
    
    if (input === "+") {
      let amount = parseFloat(prompt("请输入要递增的金额:"));
      balance += amount;
      console.log("递增成功,当前余额为:" + balance);
    } else if (input === "-") {
      let amount = parseFloat(prompt("请输入要递减的金额:"));
      if (amount > balance) {
        console.log("递减失败,递减金额大于当前余额!");
      } else {
        balance -= amount;
        console.log("递减成功,当前余额为:" + balance);
      }
    } else if (input === "q") {
      console.log("退出银行函数");
      break;
    } else {
      console.log("无效的操作,请重新输入!");
    }
  }
}

bankFunction();

这个银行函数通过循环接收用户的输入,并根据输入的操作符进行递增或递减操作。用户可以输入"+"来递增金额,输入"-"来递减金额,输入"q"来退出函数。函数会根据用户的输入进行相应的操作,并在控制台输出当前余额。

这个银行函数可以用于模拟银行账户的管理,用户可以通过输入不同的操作来进行存款、取款等操作。在实际应用中,可以将这个函数与其他业务逻辑结合起来,实现更复杂的银行业务功能。

腾讯云相关产品和产品介绍链接地址:

  • 云函数(Serverless Cloud Function):https://cloud.tencent.com/product/scf
  • 云数据库 MySQL 版(TencentDB for MySQL):https://cloud.tencent.com/product/cdb_mysql
  • 云存储(对象存储 COS):https://cloud.tencent.com/product/cos
  • 人工智能(AI):https://cloud.tencent.com/product/ai
  • 物联网(IoT):https://cloud.tencent.com/product/iotexplorer
  • 移动开发(移动应用托管):https://cloud.tencent.com/product/maap
  • 区块链(腾讯区块链服务):https://cloud.tencent.com/product/tbaas
  • 元宇宙(腾讯元宇宙):https://cloud.tencent.com/product/tencent-metaverse
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

用javascript分类刷leetcode13.单调栈(图文视频讲解)_2023-02-28

一个更大元素 I (easy) nums1 数字 x 的 下一个更大元素 是指 x nums2 对应位置 右侧 的 第一个 比 x 大的元素。...动画过大,点击查看 思路: 循环nums2,如果循环的元素大于栈顶元素,并且栈不为空,则不断将栈顶元素作为key,当前元素作为value加入map 本质是第一个比栈顶元素大的值会让栈的元素不断出队...,初始的时候将0~k-1的元素加入堆,存入的是值和索引的键值队,然后滑动窗口从从索引为k的元素开始遍历,将新进入滑动窗口的元素加堆,当堆顶元素不在滑动窗口中的时候,不断删除堆顶堆元素,直到最大值滑动窗口里...//当堆顶元素不在滑动窗口中的时候,不断删除堆顶堆元素,直到最大值滑动窗口里。...,当进入滑动窗口的元素大于等于队尾的元素时 不断从队尾出队,直到进入滑动窗口的元素小于队尾的元素,才可以入队,以保证单调递减的性质,当队头元素已经滑动窗口外了,移除对头元素,当i大于等于k-1的时候,

63740

用javascript分类刷leetcode13.单调栈(图文视频讲解)_2023-02-27

,初始的时候将0~k-1的元素加入堆,存入的是值和索引的键值队,然后滑动窗口从从索引为k的元素开始遍历,将新进入滑动窗口的元素加堆,当堆顶元素不在滑动窗口中的时候,不断删除堆顶堆元素,直到最大值滑动窗口里...//当堆顶元素不在滑动窗口中的时候,不断删除堆顶堆元素,直到最大值滑动窗口里。...,当进入滑动窗口的元素大于等于队尾的元素时 不断从队尾出队,直到进入滑动窗口的元素小于队尾的元素,才可以入队,以保证单调递减的性质,当队头元素已经滑动窗口外了,移除对头元素,当i大于等于k-1的时候,...下一个更大元素 I (easy) nums1 数字 x 的 下一个更大元素 是指 x nums2 对应位置 右侧 的 第一个 比 x 大的元素。...动画过大,点击查看 思路: 循环nums2,如果循环的元素大于栈顶元素,并且栈不为空,则不断将栈顶元素作为key,当前元素作为value加入map 本质是第一个比栈顶元素大的值会让栈的元素不断出队

63430
  • 用javascript分类刷leetcode13.单调栈(图文视频讲解)

    <=1050 <= heightsi <= 104思路:准备单调递增栈存放数组下标,因为这样可以从栈顶找到左边第一个比自己小的下标,这样从当前下标出发到第一个比自己小的柱子的下标就是矩形面积的宽度,然后乘当前柱子的高度就是面积...,初始的时候将0~k-1的元素加入堆,存入的是值和索引的键值队,然后滑动窗口从从索引为k的元素开始遍历,将新进入滑动窗口的元素加堆,当堆顶元素不在滑动窗口中的时候,不断删除堆顶堆元素,直到最大值滑动窗口里...//当堆顶元素不在滑动窗口中的时候,不断删除堆顶堆元素,直到最大值滑动窗口里。...,当进入滑动窗口的元素大于等于队尾的元素时 不断从队尾出队,直到进入滑动窗口的元素小于队尾的元素,才可以入队,以保证单调递减的性质,当队头元素已经滑动窗口外了,移除对头元素,当i大于等于k-1的时候,...下一个更大元素 I (easy)nums1 数字 x 的 下一个更大元素 是指 x nums2 对应位置 右侧 的 第一个 比 x 大的元素。

    57210

    滑动窗口最大值:单调队列

    什么是单调队列 ​ 单独队列本质还是一个队列,只是我们规定这个队列是一个单调递减或者单调递增队列!⚜️单调递减递增是什么意思呢❓❓❓ ​ 这里以单调递减为例,因为和我们这道题比较符合!...我们举一个数学上面的例子 y = ax + b,我们知道递减就是函数某个区间上面的 y 随着 x 的增大,而不断的减小或者相等,但是如果我们定义它为单调递减,那么这个函数则变成 整个区间上面都是 y...下面我们来看看具体的步骤(下面步骤默认我们的队列变量名叫做dq): 遍历 nums 数组的每个元素 每次遍历元素的时候,先循环判断一下队头元素nums位置是否已经掉出了窗口范围 如果 i - k...() 进行删除,并且不断循环判断,直到队列为空,或者遇到比 nums[i] 小或者等于的值为止!...// 若新元素大于其队尾的元素,那么则pop掉该元素,直到遇到比新元素大或者相等为止 while(dq.size() > 0 && nums[i] >

    52820

    【刷题】Leetcode 1609.奇偶树

    它是一种盲目搜索法,目的是展开检查图中的所有节点,进而得到结果。 过程是十分暴力的,不考虑结果的具体位置,直接遍历搜索所有节点,直到找到结果为止。...其过程简单来说是对一个可能分支进行处理到不能再进行处理为止。如果是死路就返回,返回图中遇见未探索的分支就进行进行处理,直到达到要求。一般使用堆或栈来辅助实现DFS算法。...具体分为两个循环嵌套: 首先外围while 保证访问所有节点,记录深度。 内层for循环 负责处理该层所有节点,并将下一层节点存入队列。...偶数下标 层上的所有节点的值都是 奇 整数,从左到右按顺序 严格递增 奇数下标 层上的所有节点的值都是 偶 整数,从左到右按顺序 严格递减 判断递增递减是通过 当前节点值与dp[ p ]的值进行比较...} //偶数下标层 必须满足严格递增 通过当前值与上一个节点值进行判断 else{ if(!

    10110

    C++奇迹之旅:从0开始实现日期时间计算器

    (*this == d); } 日期计算函数 我们一个日期上加天数,但是由于闰年和平年的2月的天数不同,如果在每次加,减天数,都要判断容易犯错,因此我们可以把它封装成一个函数,进行加天数的比较,我们可以定义一个数组...>> // 该运算符重载函数用于从输入读取日期对象的值 istream& operator>>(istream& in, Date& d) { // 提示用户输入年/月/日 cout...in; } 这是重载输入运算符 >> 的函数,它接受一个输入流对象 in 和一个可修改的日期对象 d 作为参数,该函数返回输入流对象 in,以支持连续输入。...注意:CheckDate()为了防止输入 2024年4月0日 最后问题是全局两个全局变量怎么能使用Date的内置类型呢? 没错!我是你的朋友就好啦!!!...,从输入读取年月日创建日期对象 istream& operator>>(istream& in, Date& d) { cout "; in >>

    12810

    单调的队列

    单调队列动态规划的应用 3. 參考资料: 大家应该了解什么是队列,那么队列前面加上“单调”。意思也是显而易见的。就是这个队列是从前往后单调递增或者单调递减的。...队尾元素依次出队,直到满足队列的调性为止。 比如: 队列是一个单调递增的队列: 1 ,5 , 7 , 9。 如今要插入一个 6。 由于 9 > 6 ,所以 9 出队列 ---> 1 , 5, 7。...并将其插入到单调队列的尾部,同一时候维持队列的单调性(不断地出队,直到队列单调为止)   反复上述步骤直到全部的函数值均被计算出来。不难看出这种算法均摊时间复杂度是O(1)的。...单调队列指一个队列的全部的数符合单调性(单调增或单调减),信息学竞赛的一些题目上应用,会降低时间复杂度 单调队列的每一个元素通常会存储两个值: 1.原数列的位置(下标) 2.该元素动态规划的状态值...我们想到了用单调队列进行优化,因为随着i的循环,每次仅仅有一个i进入决策区间也仅仅有一个i出决策区间,因为每次选取决策区间中的最小值,所以维护一个单调递增序列。每次取出队首元素就可以。

    30110

    【python】之哥德巴赫猜想(递归法)和教室排课(枚举法)

    题目描述 输入格式 一个大于6小于1000的偶数n 输出格式 一行,为一个表达式,形式为a+b,a和b分别是两个奇素数,其中a小于b,使得a+b=n(如果有多组解,输出a最小的一组) 输入例子 10 输出例子...素数,指的是“大于1的整数,只能被1和这个数本身整除的数”)的函数创建一个验证猜想的函数,因为是要把一个大于6小于1000的偶数分为两个奇素数,所以传三个值过去,a要小于那个大于6小于1000的偶数...,2是最小的偶数,接着执行验证猜想函数直到找到为止。...flag=1 if flag==-1: print(flag) 运行结果 有方案的运行结果: 没方案的运行结果: 相关算法题型题目总结 如果遇到一些被处理的对象之间是有规律的递增递减,将子问题和原问题为同样的事...如果使用循环能解决问题,尽量不要使用递归算法,因为使用递归算法的时候会加大资源的消耗 如果递归算法的深度过于深,可能会造成栈溢出。

    1.5K30

    【一天一道Leetcode】下一个更大元素

    示例: 输入: [1,2,1] 输出: [2,-1,2] 解释: 第一个1的下一个更大的数是2; 数字2找不到下一个更大的数; 第二个1的下一个最大的数需要循环搜索,结果也是 2。...注意: 输入数组的长度不会超过 10000。 02 方法和思路 题目有两个重点 1.如何求下一个更大的元素 2.如何实现循环数组 ?...如何求下一个更大的元素,可以采用构建单调栈的方法来实现,单调栈是说栈里面的元素从栈底到栈顶是单调递增或者单调递减的。...建立[单调递减栈],对原数组进行遍历操作: 如果栈为空, 则把当前元素放入栈内; 如果栈不为空, 则需要判断当前元素和栈顶元素的大小: 如果当前元素比栈顶元素大: 说明当前元素是前面一些元素的[下一个更大元素...],则逐个弹出栈顶元素,直到当前元素比栈顶元素小为止

    73720

    关于CC++ 一些自己遇到的问题以及解惑

    再往下看,通过搜索,我了解到==导致死循环与编译器的内存分配有关,若内存递减分配会出现死循环,递增分配则不会,==通过不同IDE输出内存地址,确实验证这个结论成立. ?        ...如果大家还是体会不到这个参数的作用,我可以举几个例子:        1.大多数人应该都写过XXXX管理系统,有管理,就有数据,有数据就需要我们保存,我们可以用一个文本来保存用户输入数据,但是这个文本应该保存在什么地方呢...总不能在代码中固定一个路径吧,大家计算机名字都不一样,这样肯定行不通,于是我们代码开始写到cout<<“请输入数据保存的路径”; 然后开始读取用户输入的路径,那么有没有进一步提升用户体验的写法?...这时我们就可以用到main的参数了,利用argv[0]获取该程序的路径,通过算法解析,即可得到用户把exe放在哪里,那么我们exe所在的路径下保存数据文本即可,这样就会提示用户体验。        ...return:直接返回函数,所有该函数体内的代码(包括循环体)都不会再执行,同时结束其所在的循环和其外层循环。当自定义函数无返回值时,可以使用该写法。相当于使用了break。

    67541

    matlab for循环语句实例_matlab如何循环

    MATLAB for循环 ---- MATLAB for 循环一个重复的控制结构,可以有效地写一个循环,只是执行的次数是特定的。...initval:endval 将索引变量从初始到终值递增1,并重复执行程序语句,直到索引值大于终值。...initval:step:endval 按每次迭代的值步骤递增索引, 或在步骤为负值时递减。 valArray 每个迭代 valArrayon 数组的后续列创建列向量索引。...详细例子如下: 例子 1 MATLAB建立一个脚本文件,输入下述代码: for a = 10:20 fprintf('value of a: %d ', a); end 运行文件,显示下述结果...建立一个脚本文件,输入下述代码: for a = 1.0: -0.1: 0.0 disp(a) end 运行该文件,显示以下结果: 1 0.9000 0.8000

    2.8K40

    JavaScript基础之for

    1.for循环         ·for循环执行某些代码,通常跟计数有关系         ·for语法结构         ·初始化变量,就是用var声明的一个普通变量,通常用于作为计数器使用...        ·条件表达式,就是用来决定每一次循环是否继续执行,就是终止的条件         ·操作表达式,是每次循环最后执行的代码,经常用于我们计数器变量进行更新(递增或者递减)        ...用原生js的变量方法var将数字1赋值给i         2.再将i进行条件判断,给他一个终止的条件(不能让他一直循环下去)           i100时),循环结束!        ...当然我们也可以根据以上的循环原理,做一些改动:         例子:         让用户输入循环的次数,循环打印出hello:         代码: var num =

    28230

    【JAVA零基础入门系列】Day8 Java的控制流程

    这里把价格放在第一要素,所以你会一家一家跑,直到找到最便宜的那家为止。   其实,上述买苹果的过程,已经用了两种最常用的控制流程:条件和循环。...2.循环语句   Java的循环语句主要有这么几个:while,do  while,for   while循环很简单,先判断后面的条件是否满足,如果满足则执行后续的代码,一直循环执行,直到条件不成立为止...再介绍一下最常用的循环,for循环,for 语句的基本结构如下所示: for(初始化表达式;判断表达式;递增递减)表达式){     执行语句;   //一段代码 }   初始化表达式:初始化表达式的意义...递增递减)表达式:这一项规定每执行一次程序,变量以多少增量或减量进行变化     结构清楚了,现在就举一个最基础的例子来介绍一下:(这个例子是循环输出0到5的数字。)...;       break; }   这里先读取你输入的字母,然后switch语句会将它与case里的条件一一对比,直到找到相符的项,然后执行后面的代码.。

    969100

    第四节(基本程序控制)

    也可以用for语句来“向下计数”,将计数器变量递减1,如下所示: for (count = 100; count > 0; count--) 递增量或递减量不一定是1,如下所示,每次循环把count递增...通常是递增递减变量(已初始化的变量)的表达式。 语句是任意的C语句,只要循环条件为真,就执行该部分的语句。 for语句是一个循环语句。语句头包括初值部分、循环条件和更新部分。...第24行将获取的数字放入array数组,第25行把ctr 递增1。然后再次循环,回到第15行。 因此,外层循环获取5个数字放入array数组,该数组以ctr作为索引。...,根据用户选择的选项执行相应的操作,就会用到get_menu_choice() 的返回值, 因此将其赋给一个变量 (如本例的chioce )是明智之举。...第18^37行是get_menu_choice() 函数,该函数屏幕上显示一个菜单(第24 30行),然后获取用户输入的选项。

    21110

    第十一天、快速排序

    假设用户输入了如下数组: 下标 0 1 2 3 4 5 数据 6 2 7 3 8 9     创建变量i=0(指向第一个数据), j=5(指向最后一个数据), k=6(赋值为第一个数据的值)。     ...=3 k=6      接着,再递减变量j,不断重复进行上面的循环比较。     ...本例,我们进行一次循环,就发现i和j“碰头”了:他们都指向了下标2。于是,第一遍比较结束。...然后,对k两边的数据,再分组分别进行上述的过程,直到不能再分组为止。 注意:第一遍快速排序不会直接得到最终结果,只会把比k大和比k小的数分到k的两边。...为了得到最后结果,需要再次对下标2两边的数组分别执行此步骤,然后再分解数组,直到数组不能再分解为止(只有一个数据),才能得到正确结果。      示意图: ?

    49400

    JavaScript-ECMAScript5-JS基础语法「建议收藏」

    HTML我们推荐使用双引号, JS 我们推荐使用单引号 可读性差, html编写JS大量代码时,不方便阅读; 引号易错,引号多层嵌套匹配时,非常容易弄混; 特殊情况下使用 内嵌式 <script..., 我们称之为变量的初始化 var age = 18; // 声明变量同时赋值为 18 案例 弹出一个输入框,提示用户输入姓名 弹出一个对话框,输出用户刚才输入的姓名 //弹出输入框...,我们称为前置递增(递减)运算符 放在变量后面时,我们称为后置递增(递减)运算符 注意:递增递减运算符必须和变量配合使用。...循环目的:实际问题中,有许多具有规律性的重复操作,因此程序要完成这类操作就需要重复执行某些语句 JS 循环分类 for 循环 while 循环 do...while 循环 7.3.1...console.log(444) } 案例:用户输入年份,判断平年闰年输入当前2月份的天数 执行思路: month()调用第一个函数,用户输入年份(实参) > if判断条件中发现第二个函数的调用者带着第一个函数的实参

    1.3K10

    每日一题C++版(合唱队)

    输入描述: 整数N 输出描述: 最少需要几位同学出列 示例 输入 8 186 186 150 200160 130 197 200 输出 4 分析 首先计算每个数最大递增子串的位置(如何计算后文有讲解...) 186 186 150 200 160 130 197 200 quene 1 1 1 2 2 1 3 4 递增计数 然后计算每个数反向最大递减子串的位置...递减计数 4 4 3 5 4 2 4 5 每个数在所在队列的人数+1(自己递增递减中被重复计算) 如160这个数 递增队列中有...小白采用的方法是首先将每一个数都遍历一次,首先将每个数都记为单独的递增序列,也就是位数为1,之后循环的过程中进行比较,如果后一个数比自己大,则比较后一个数的位数与当前位数+1的大小,如果当前数的位数+1...如果后面的数比当前数小,则用后一位数与第一层循环的数进行比较,采用同样的方式对位数进行更改。之后以后一位数变成当前数,再次进行比较,直到第一层遍历结束。

    74650

    python for循环

    python开发,除了前篇文章介绍的while循环还有一个for循环也经常使用,两者使用都是大同小异,for循环的使用相对于while循环更加灵活,下面我们一起来了解下具体区别。...") 输出结果: 0 1 2 3 4 循环结束,退出程序 range()函数 也是python 的内置函数,range(x,y)意思就是重x到y-1之间的整数不包括y. range(5,10) 表示:...二.实战练习 # 遍历字符串,依次输出字符串的每一个字符 for a in "python教程 - 猿说python": # a 重字符串的第一个字母开始,直到遍历字符串结尾 print(a)...for循环过程,变量a值默认偏移依次递增+1,如果希望for循环能实现偏移递减或者递增+2或者递减-2呢?...要实现在for循环中偏移递增+2或者递减-2,需要再加一个参数for循环中,语法如下: for i in range(n,m,k): i:变量名,命名为a、b、c都可以,无所谓 n:变量 i的值默认重

    2.5K10
    领券