python怎样连续输入两个数字_python实现输入数字的连续加减

不用库,写了很久,一直出bug,到网上一搜,可以直接输入之后,eval(str)即可得到结果!

eval程序如下:

s=input("请输入要运算的数字")

print("The result is{}".format(eval(s)))

下面是不用eval实现加减的代码:主要思想就是通过一个标志位flag来计算是否进行加减,其他的都很好理解

s=input("请输入要运算的数字")

l=len(s)

h=0

i=0

flag=1

a=0

for i in range(0,l):

if s[i]=='+' or s[i]=='-':

flag=1

c=s[i]

else:

flag=0

a=a*10+round(int(s[i]))

if flag==1 and s[i]=='+':

h+=a

a=0

elif flag==1 and s[i]=='-':

h-=a

a=0

print(h)

现在贴上一直出错的代码,也算是长点经验,提醒自己下一次细心一点:

s=input("请输入要运算的数字")

l=len(s)

h=0

i=0

while i<=l:

a=0

c=s[i]

i+=1

while s[i]!='+' and s[i]!='-' and i<=l :

a=a*10+round(int(s[i]))

i+=1

if c=='+':

h+=a

else:

h-=a

print(h)

#错误类型:IndexError: string index out of range(字符串越界)

说明一下,越界有两个原因:

①能够访问的最大字符串是len(str)-1  (ps上图直接是len(str))

②python执行的方法是一句一句执行的,所以i<=l-1应该放在s[i] != '+'的前面

下面贴上修改过后能运行并且可以输出正确结果的代码:

s=input("请输入要运算的数字")

l=len(s)-1

h=0

i=0

while i<=l:

a=0

c=s[i]

i+=1

while i<=l and s[i]!='+' and s[i]!='-' :

a=a*10+round(int(s[i]))

i+=1

if c=='+':

h+=a

else:

h-=a

print(h)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/396807.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

修改JAVA代码,需要重启Tomcat的原因

准确的说只有修改方法中的内容才不需要重启&#xff0c;因为tomcat中对于方法的调用是动态的&#xff0c;调用方法的时候&#xff0c;方法的内容才会被加载 新增成员变量&#xff0c;方法&#xff0c;或修改静态方法和静态变量、创建新的类 这些都是需要重启的&#xff0c;因为…

python3输入输出_Python3 输入和输出

输出格式美化 Python两种输出值的方式: 表达式语句和 print() 函数。(第三种方式是使用文件对象的 write() 方法; 标准输出文件可以用 sys.stdout 引用。) 如果你希望输出的形式更加多样&#xff0c;可以使用 str.format() 函数来格式化输出值。 如果你希望将输出的值转成字符串…

用 vue2 和 webpack 快速建构 NW.js 项目(1)

经过实践和学习&#xff0c;发现本篇文章部分内容已经过时&#xff0c;请看我的关于 Vue 和 NW.js 的 最新文章 和相关实践项目 vue-nw-seed 。使用到的技能点 vue2webpackNW.jsNode.js一、前言 先讲一下这个项目的由来。我司要新上一个产品&#xff0c;是面向教育领域的一个…

mysql -- 索引的使用

普通索引&#xff1a;用于提升查询速度唯一索引&#xff1a;用于提升查询速度&#xff0c;还要求字段值不得重复主键索引&#xff1a;唯一性且不为空的索引全文索引&#xff1a;用于大量文本搜索中建立的索引虽然索引有好处&#xff0c;但是凡是都有俩面性&#xff0c;提高效率…

surface pro 7 linux,微软 Surface Pro、Studio、Laptop 全线更新

今晨&#xff0c;微软在纽约的秋季新品发布会上&#xff0c;发布了 Surface Pro 6、Laptop 2 以及最顶级的 Studio 2 三款备受期待的 Surface 产品。至此&#xff0c;包括年初的 Surface Book 2 在内&#xff0c;完成了2018 年 Surface 产品线所有升级计划。当然这场规模不算大…

dremwere怎样让多个图片并列排放_PPT图片布局不好看?六步教你,看完就会。

我们平时很多场合需要演示讲解时&#xff0c;少不了使用PPT。尤其目前白领层人士&#xff0c;项目总结、产品介绍、调研报告…无时无刻不被PPT包围&#xff0c;又无时无刻不被PPT设计所困恼。诚然设计好看实用的PPT需要高质量素材资源和坚实的文字功底。但在处理美化PPT时&…

ThreadLocal 你到底是个什么鬼

2019独角兽企业重金招聘Python工程师标准>>> 很多文章都拿它跟同步机制作比较&#xff0c;我觉得这个思路对于理解这个东西完全没有作用。 ThreadLocal跟synchronize这类东西作比较&#xff0c;是很多文章的套路&#xff0c;我感觉这么比较&#xff0c;就跟比较重载…

SqlServer双机热备技术实践笔记

SqlServer双机热备&#xff0c;大体上可以通过发布订阅&#xff0c;日志传送&#xff0c;数据库镜像来实现。 1&#xff0c;发布--订阅 是最早最简单的方案&#xff0c;但需要注意发布的时候&#xff0c;发布进程必须对快照目录有访问权限&#xff0c;这个问题可以从“查看快照…

安徽大学计算机教学平台c语言作业,安徽大学计算机教学部练习题与答案1.pdf

一、计算机基础知识1.下列叙述中&#xff0c;不是电子计算机特点的是_D____。A.运算速度快 B.计算精度高 C.高度自动化 D.逻辑判断能力差2.现代电子计算机的本质工作原理是__D___。A.能进行算术运算 B.运算速度高 C.计算精度高 D.存储并自动执行程序3.微型计算机的型号主要是以…

grep 显示包含两个关键字_linux三剑客之-grep

一、grep简介1.介绍全局查找正则表达式并且打印结果行的命令。2.输入一个文件或者一个标准输入(stdin),或者是一个“-”连字符()。3.输出打印在屏幕上4.grep家族扩展命令egrep、fgrep二、 Grep命令的应用1.命令格式grep [选项] 模式 [文件…]例如&#xff1a;grep root /etc/pa…

Python装饰器的实现原理

Python中的装饰器是通过利用了函数特性的闭包实现的&#xff0c;所以在说装饰器之前&#xff0c;我们需要先了解函数特性&#xff0c;以及闭包是怎么利用了函数特性的。 1.函数特性 Python中的函数特性总的来说有四点: 1.函数作为变量传递 def add(x):return x 1a add 2.函数…

c语言注释说明被计算机编译系统忽略,C语言程序设计(陈艳 2019-2020-2)-中国大学mooc-题库零氪...

第1章 C语言概述第1讲 C语言概述随堂测验1、程序 #include void main() { printf("Hello, world!\n"); } 经过编译运行会在显示器上输出 Hello, world&#xff01; 如果希望输出&#xff1a;Nice to meet you. 则应使用Nice to meet you.替换( )。A、voidB、mainC、p…

React文档(五)组件和props

组件可以让你将UI分割成独立的&#xff0c;可复用的模块&#xff0c;然后考虑将每个模块彼此隔离。从概念上理解&#xff0c;组件就像js中的函数。他们接受随意的输入&#xff08;被称为props&#xff09;然后返回React元素来描述屏幕上应该出现什么。 函数式和类式组件 定义一…

Windows 应用容器化

背景 在这个时间点&#xff0c;我们可能已经对 Linux 容器使用已经达到熟练掌握的程度&#xff0c;因为 Docker 与 Kubernetes 都是最早为 Linux 平台设计。当我们从容器这项技术中体会到种种收益&#xff0c;对于我们的 windows 的应用是否也能利用容器技术简化我们的开发运维…

python安装函数库pip网址_批量安装python库函数---pip

android Sqlite小记 1.android.database.sqlite.SQLiteException: near "": syntax error (code 1): 语法错误,如果你的报了这个错误 ... win8 VB6打开提示MSCOMCTL&period;ocx未注册 从xp上复制相应的文件到win8相应的位置,如果是不可以,win8中反注册此控件,再注…

关于OC中的block自己的一些理解(二)

一、block延伸&#xff1a;页面间反向传值 1&#xff09;first页面的代码 - (void)viewDidLoad {[super viewDidLoad];[self setupBtn];self.view.backgroundColor [UIColor whiteColor];} - (void)setupBtn {UIButton * btn [[UIButton alloc]init];[btn addTarget:self act…

C语言多项式乘法模拟,急!!!!c语言:求n次多项式的加法和乘法

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼if(s->data.coef!0.0){s->data.expnp->data.expn;r->nexts;rs;}pp->next;qq->next;break;case 1:s->data.coefq->data.coef;s->data.expnq->data.expn;r->nexts;rs;qq->next;break;}//switch}…

opengl 安装_如何使得支持 OpenGL 的 Flatpak 应用和游戏在专有 Nvidia 图形驱动下工作 | Linux 中国...

一些支持 OpenGL 并打包为 Flatpak 的应用和游戏无法使用专有 Nvidia 驱动启动。本文将介绍如何在不安装开源驱动(Nouveau)的情况下启动这些 Flatpak 应用或游戏。-- Logix这有个例子。我在我的 Ubuntu 18.04 桌面上使用专有的 Nvidia 驱动程序 (nvidia-driver-390)&#xff0c…

laravel -admin 禁止某一行删除

$grid->actions(function (Grid\Displayers\Actions $actions) {if ($actions->getKey() 1) {$actions->disableDelete();} });转载于:https://www.cnblogs.com/vinzen/p/9675823.html

thinkphp-where-数组条件-普通查询

语法Db::table(表名)->where(条件)->select();示例$map[name] thinkphp; $map[status] 1;// 把查询条件传入查询方法 Db::table(think_user)->where($map)->select();对应原始sqlSELECT * FROM think_user WHERE namethinkphp AND status1转载于:https://blog.51…