检查列表中是否已存在值

时间:2019-01-02 02:53:45

标签: python python-3.x

我有一个数据列表

set1 = [1,2,3,4,5,6,7,8]

,然后请用户输入。 (假设我已经建立了一种方法来检查输入是否有效)

user_input = int(input('Insert a number')) 

我想检查用户输入是否已经存在于上面的列表中。如果是这样,那么将要求用户重复输入一个数字,直到该数字不在给定列表中,并且输入内容将存储到另一个列表中。

new_list = []
new_list.append(user_input)

我已经尝试过使用单个“ for”循环,但是当用户反复插入相同的现有值时,它不能很好地工作。

1 个答案:

答案 0 :(得分:0)

我觉得这里的主要问题是如何建立循环...

对于 #include <iostream> #include <string.h> class Student{ //student class with constant variable private: const int roll; char *name; float grade; public: Student(int num):roll(num),name("NULL"),grade(0.0){}; /* for const variable initializer.*/ Student(const Student &obj ) { cout<<"copy Constructor "<<endl; int stSize; stSize=strlen(obj.name); name= new char[stSize+1]; strcpy(name,obj.name); grade=obj.grade; } void setStudent(char *nam,float grd){ cout<<"Setting Student"<<endl; int stSize=strlen(nam); name=new char[stSize+1]; strcpy(name,nam); grade=grd; } void getStudent()const{ cout<<"Roll Number is :"<<roll<<endl; cout<<"Student Name is :"<<name<<endl; cout<<"Grade is :"<<grade<<endl; } ~Student(){ delete[] name; } }; int main() { Student a(10); a.setStudent("Adnan", 3.2); a.getStudent(); Student b(12)=a; // this is where copy constructor should be shown. Student c(11); c.getStudent(); b.getStudent(); return 0; } ,您可以使用set1,因为您要查找唯一的数字。然后,只有当用户输入不在集合中的数字时,才可以使用外观和set

最后,当用户输入的值无法转换为break时,您会遇到这种情况,因此程序不会突然退出。

int