python不满足条件重新输入_如果Python中不满足条件,则拒绝用户输入

我知道这个问题和我已经问过的问题很相似,但它是一个扩展,因此它有自己的空间

我是一个Python新手,编写一个代码,它从用户那里获取输入,然后将用户输入存储在数组中(以后再做更多的工作),前提是满足两个条件:

1)总输入加起来为1

2)没有输入本身大于1。在

我已经有了some help with this question,但不得不修改一下,因为我的代码输入不能很容易地用按某个索引“n”分类的输入编写(提示输入的问题不能真正格式化为“input(n),其中n从1到a”)

以下是我目前为止的尝试:num_array = list()

input_number = 1

while True:

a1 = raw_input('Enter concentration of hydrogen (in decimal form): ')

a2 = raw_input('Enter concentration of chlorine (in decimal form): ')

a3 = raw_input('Enter concentration of calcium (in decimal form): ')

li = [a1, a2, a3]

for s in li:

num_array.append(float(s))

total = sum([float(s)])

if float(s-1) > 1.0:

num_array.remove(float(s-1))

print('The input is larger than one.')

continue

if total > 1.0: # Total larger than one, remove last input and print reason

num_array.remove(float(s-1))

print('The sum of the percentages is larger than one.')

continue

if total == 1.0: # if the sum equals one: exit the loop

break

input_number += 1

我很高兴它可以编译,但是Python不喜欢这行代码

^{pr2}$

它会抛出错误:TypeError: unsupported operand type(s) for -: 'str' and 'int'

我知道这是因为“s”是一个字符串,而不是一个整数,但是我想不出一个简单的方法来解决这个问题,或者在这种情况下如何实现对用户输入的循环。在

如何改进此程序,使其仅在满足条件时将用户输入写入数组?在

谢谢你的时间和帮助!在

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

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

相关文章

JAVAWEB入门之Servlet的注解配置

1.我们发现&#xff0c;配置servlet很麻烦&#xff0c;要一直在web.xml里面配置<servlet></servlet> 因此官方给了我们一个新的版本servlet3.0 好处&#xff1a;支持注解配置。可以不用web.xml了 步骤&#xff1a;1.创建javaEE项目&#xff0c;选择Servlet的版本…

python高阶函数、map reduce 自己如何去定义_小猿圈python之高阶函数lambda、map和reduce用法...

python有很多内置函数&#xff0c;内置函数封装了很多功能&#xff0c;让我们用起来很方便&#xff0c;小猿圈针对高阶函数有详细的讲解视频&#xff0c;朋友们可以去看看&#xff0c;小编学后总结了一下&#xff0c;下面说一下lambda、map和reduce高阶函数的用法。1、lambda函…

JAVAWEB入门之IDEA与tomcat相关配置

IDEA与tomcat相关配置 IDEA会为每一个tomcat部署的项目单独建立一份配置文件&#xff0c;查看启动项目后的控制台的log&#xff1a;Using CATALINA_BASE: "C:\Users\14811\.IntelliJIdea2017.1\system\tomcat\_test2"打开这个文件路径后&#xff0c;我们发现里面有…

mysql 自增id replace_MySQL--REPLACE INTO与自增

####测试环境&#xff1a;MySQL版本&#xff1a;MySQL 5.7.19复制模式&#xff1a;ROW####执行下面操作&#xff1a;##测试脚本&#xff1a;CREATE TABLET_AUTO_TEST(IDINT AUTO_INCREMENT PRIMARY KEY,C1INT NOT NULL,UNIQUE KEYUNI_C1(C1))INSERT INTO T_AUTO_TEST(ID,C1)VAL…

JAVAWEB入门之Servlet_体系结构

我们建的这个类要继承复写Servlet的所有方法&#xff0c;但是这会很麻烦&#xff0c;所有的写出来很繁琐当摆设&#xff0c;所以我们想&#xff0c;可不可以定义一个类&#xff0c;然后继承这些类和方法&#xff0c; Servlet的体系结构&#xff0c; Servlet----接口----爷爷 …

mysql语句怎么记_mysql语句记录

INSERT INTO as_devconfig_9300(DevID,MonID, vc_Name,i_DevType,vc_Param2) VALUES(1111,18,衡阳.110kV狮子山变电站/变电站周界.站区风速传感器/站区气象风速测量值,1,0);UPDATE as_devconfig_9300 SET vc_Name2,i_DevType1 WHERE MonID2;SELECT LinkID FROM as_linkinfo WHE…

JAVAWEB入门之Servlet相关配置

1.urlpattern:Servlet的访问路径 一个Servlet可以定义多个访问路径&#xff1a;WebServlet({"/d","/dd","/ddd"}),可以同时访问路径的定义规则1./XXX/XXX/XXX 多层路径&#xff0c;称之为目录结构/XXX/* 通配符号* 表示什么都可以写*.do …

mysql 控制id复原_清空mysql表后,自增id复原

一、清除mysql表中数据deletefrom表名;truncate table 表名;不带where参数的delete语句可以删除mysql表中所有内容&#xff0c;使用truncate table也可以清空mysql表中所有内容。效率上truncate比delete快&#xff0c;但truncate删除后不记录mysql日志&#xff0c;不可以恢复数…

JAVA入门级教学之HTTP

HTTP概念&#xff1a;Hyper Text Transfer Protocol 超文本传输协议 传输协议&#xff1a;定义了客户端和服务器端通信时发送数据的格式 特点&#xff1a;1.基于TCP/IP的高级协议&#xff0c;要经过三次握手&#xff0c;说明也是一种安全的协议 2.默认端口号是80 http://…

mysql 取年月日 语句_MySQL学习从这里出发!

MySQL数据库开发学习中&#xff0c;想满足一些需求&#xff0c;无疑需要经常与数据打交道&#xff0c;例如&#xff0c;我们在使用IO的一些技术的时候&#xff0c;常常需要将一些数据存储到外部文件&#xff0c;可能大家会问&#xff0c;我们初学的时候常常会简单的保存一些数据…

JAVAWEB入门之Requset原理

Request 1.request和respinse对象的原理 request和respinse对象是由服务器创建的&#xff0c;我们只是使用他们 request对象是来获取请求消息&#xff0c;response是来设置响应消息 3.request对象的继承体系结构&#xff1a; ServletRequest-------接口 继承 HttpServlet…

mysql 抓包乱码_mysql知识资源收集

收集一下mysql所需的文档&#xff0c;供后面查阅和学习。整理了下&#xff0c;大致需要如下的一些&#xff1a;一.基础知识&#xff0c;包括安装&#xff0c;基础命令使用等基础知识命令行大全&#xff1a;图形大纲&#xff1a;二.mysql库中表对应的作用和字段作用三.mysql配置…

JAVA入门级教学之(数据类型)

目录 JAVA入门级教学之&#xff08;数据类型&#xff09; 1、数据类型的作用是什么&#xff1f; 2、java中的数据类型包括两种&#xff1a; 3、关于基本数据类型&#xff1a; 4、注意&#xff1a;字符串"abc"不属于基本数据类型&#xff0c;属于【引用基本类型】&…

mysql存储过程中as_mysql - 存储过程mySQL语法错误意外“ AS” - 堆栈内存溢出

我正在编写一个存储过程&#xff0c;如下所示我得到的错误是在第3行和第4行&#xff0c;这两个错误是第3行是“意外的发布者标识符”&#xff0c;第4行是“意外的AS(as)”&#xff0c;但我不知道我是怎么得到这些错误或如何解决的他们。 有人可以解释一下为什么我收到这些错误以…

JAVA入门级教学之(char类型)

java程序主要讲解的数据类型之&#xff1a;char类型【占用2个字节】 public class DateTypeTest02 {public static void main(String[] args){//定义一个char类型的变量&#xff0c;起名c&#xff0c;同时赋值字符achar ca;System.out.println(c);//a//一个中文占用2个字节,所…

JAVA入门级教学之(整数型)

关于java语言中的整数型: 数据类型 占用空间大小 默认值 取值范围byte 1 0 【-128-127】 short 2 0 【-32768-32767】 int…

mysql事务编号_Mysql事务

一&#xff1a;mysql事务1.需求从orders表中查询最新的销售订单编号&#xff0c;并使用下一个销售订单编号作为新的销售订单编号。在指定客户的orders表中插入新的销售订单。将新的销售订单项目插入orderdetails表中。从orders表和orderdetails中获取数据以确认更改。如果由于数…

JAVA入门级教学之(浮点型数据类型)

/* 关于浮点型数据类型: float 单精度 【4个字节】 double 双精度 【8个字节&#xff0c;精度较高&#xff0c;默认double】 double的精度太低【相对来说的】&#xff0c;不适合做财务软件 财务涉及到钱的问题&#xff0c;要求精度较高&#xff0c;所以SUN在基础SE类库当中 为…

java try catch 例子_java try catch

try catch机制非常好。那些觉得try catch不行的人&#xff0c;是他们自己的水平有问题&#xff0c;无法理解这种机制。并且这群人写代码不遵守规则&#xff0c;喜欢偷懒&#xff0c;这才造成try catch不好的错觉。详细解释&#xff1a;1.程序要健壮&#xff0c;必须要设计报错机…

JAVA入门级教学之(布尔型数据类型)

/* 关于布尔型数据类型&#xff1a; boolean 在java语言中boolean类型只有两个值&#xff1a;true、false&#xff0c;没有其它值 不像c语言中&#xff0c;0和1可以表示假和真 在底层存储的时候boolean类型占用1个字节&#xff0c;因为实际存储的时候false底层是0,true底层是1…