A community for students.
Here's the question you clicked on:
 0 viewing
jessejayne
 3 years ago
If I want to write a program that checks if a % list of numbers == 0 how would I write the list of numbers? Would I use a tuple, string, or ?
jessejayne
 3 years ago
If I want to write a program that checks if a % list of numbers == 0 how would I write the list of numbers? Would I use a tuple, string, or ?

This Question is Closed

RoamingBlue
 3 years ago
Best ResponseYou've already chosen the best response.1Typically, you wouldn't use a string to hold a bunch of numbers. First, you need to decide if the list of numbers is mutable or not (mutable = changeable). If it IS mutable (you need to be able to add, remove or change values) use a list. If it isn't mutable ... use a tuple. pseudocode for this (please note that I didn't actually test this as valid code, just trying to give an overview of the concept) numberTuple = (1, 2, 3, 4, 5, 6) for (individualNumber) in numberTuple: if individulaNumber == 0: print "this number equals zero"

pedja
 3 years ago
Best ResponseYou've already chosen the best response.0If I understand you well, you want to check if some number a is divisible by numbers in the list? It will be: for numer in number_list: if a % number == 0: print a, 'is divisible by', number Or, to check if a is divisible by every number in the list: def is_divisible(a, number_list): # function returns True if number a is divisible by every number in the list # else returns false for number in number_list: if a % number != 0: return False return True

RoamingBlue
 3 years ago
Best ResponseYou've already chosen the best response.1Ah yes, pedja is correct ... I totally missed that a was a variable and just read it as the English word "a" and figured the % was a typo, silly me. You'd want to store the numbers in a list or tuple, then do exactly what pedja said and run a for loop over the list, checking each of the values in the list in turn

jessejayne
 3 years ago
Best ResponseYou've already chosen the best response.0hmmmm... well I think I don't understand the syntax. Here is my program: http://dpaste.com/hold/785854/ I know that there is a better way to do this with way more fancy math and the program that I am trying to write will be slow, ect. However at this point I find it is better for me to learn the syntax using my own thoughts and ideas, rather than math that is complex. Once I can actually write something that doesn't take me hours to do then I will come back and complete the psets with different and more complex ideas. "steps off soap box* :P When I run this program it is not dividing the guess by every number in the number_list and print a result "composite number: " , guess. Rather it is taking the guess and dividing it by an integer in what seams to be a range (1, ?,1).

RoamingBlue
 3 years ago
Best ResponseYou've already chosen the best response.1Consider how you're defining a composite number ... At line 8: if guess % number == 0: print 'composite number: ', guess Which translates to  If the remainder of guess divided by number equals zero, this is a composite number. Which simply isn't true ... case in point (3). The remainder of three divided by three is zero so it passes the if clause on line 8 and is declared a composite number erroneously (it's prime not composite). Consider also the number 6 ... the remainder of six divided by six is also zero, yet this is a composite number. Consider testing instead to determine if it's a prime number.

RoamingBlue
 3 years ago
Best ResponseYou've already chosen the best response.1Jesse  this is my take on how I'd handle the problem. http://dpaste.com/hold/785912/ Sorry if it got a bit mathy. I tried to comment the livin heck out of it to explain why I made the decisions I did.

jessejayne
 3 years ago
Best ResponseYou've already chosen the best response.0I like the way that you did it. I understand it perfectly. I am still trying to make my program work unfortunately. This is where I am at this time: http://dpaste.com/hold/785944/ I did a prt scr of what I am getting to show you the problem, I just don't know how to fix it. It is the same as before. When I run this program it is not dividing the guess by every number in the number_list and print a result "composite number: " , guess. Rather it is taking the guess and dividing it by an integer in what seams to be a range (1, ?,1).

RoamingBlue
 3 years ago
Best ResponseYou've already chosen the best response.1Line nine ... if guess == number If that line is true then you know for a fact that it's a prime because it's in your explicit list of prime numbers and you're done checking that number You don't need the if/else after that. You just need to pick out the primes based on whether they're in your list, print them when you find them, consider everything else composite I think this might be what you're going for  http://dpaste.com/hold/785952/

jessejayne
 3 years ago
Best ResponseYou've already chosen the best response.0Oh my, I look like a major dum dum. lol I think I honestly stared at it so long my thoughts were turning to mush. And now that I am able to see the last post it shows how silly the original thought was. I still wonder why it was running through every integer rather than the list, but I'm just going to let that go for now. Again, you rock! Much love!

RoamingBlue
 3 years ago
Best ResponseYou've already chosen the best response.1*grins* not dumb at all. We all have moments of staring at something so long our eyes cross and we just stop seeing it. Were I to make a guess, I'd venture that it was running through every integer because you used "pass" on line 12 instead of "break" which would break you out once you found a prime. So it would find the actual prime in the first if, then for nonprimes drop into the else (which potentially reports false primes 'cause the prime check down in the else can't possibly find a prime 'cause they were all found in the initial if)
Ask your own question
Sign UpFind more explanations on OpenStudy
Your question is ready. Sign up for free to start getting answers.
spraguer
(Moderator)
5
→ View Detailed Profile
is replying to Can someone tell me what button the professor is hitting...
23
 Teamwork 19 Teammate
 Problem Solving 19 Hero
 Engagement 19 Mad Hatter
 You have blocked this person.
 ✔ You're a fan Checking fan status...
Thanks for being so helpful in mathematics. If you are getting quality help, make sure you spread the word about OpenStudy.