<problem>
Create a method `removeEven(nums:List[int]) -> List[int]` that accepts a list `nums`. Remove all even numbers from `nums` and return a list without any even numbers.

## Example Cases:
```
removeEven([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) => [1, 3, 5, 7, 9]
removeEven([2, 4, 6, 8, 10]) => []
removeEven([1, 3, 5, 7, 9]) => [1, 3, 5, 7, 9]
removeEven([-76, -92, 9, -1, 7, 10]) => [9, -1, 7]
```
</problem>
<bug_code>
1. def removeEven(nums):
2.  newNums = []
3.  for i in nums:
4.    if i / 2 != 0:
5.      newNums.append(i)
6.  return newNums
</bug_code>
<bug_desc>
On line 4, the function checks if `i` divided by `2` is not equal to `0` which is true for `i > 0 and i < 0`. Consequently, the function removes all elements equal to `0` in `nums` instead of removing all elements that are divisible by `2`.
</bug_desc>
<bug_fixes>
Replace `/` with `%` on line 4.
</bug_fixes>
<unit_tests>
assert removeEven([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) == [1, 3, 5, 7, 9]
assert removeEven([2, 4, 6, 8, 10]) == []
assert removeEven([1, 3, 5, 7, 9]) == [1, 3, 5, 7, 9]
assert removeEven([-76, -92, 9, -1, 7, 10]) == [9, -1, 7]
</unit_tests>
<stu_desc>

</stu_desc>
<dialogue>
User: I have a problem with my code. It's just not working, and I just don't know why.
Assistant: Can you explain what the issue appears to be?
	<alt>Can you walk me through your function line by line?
	<alt>Does your code throw an error or do you just get the wrong answer?
	<alt>Let's start with a simple warm-up question. How do you check if a number is even?
	<alt>Let's start with a simple warm-up question. How do you know if a number is even or odd?
User: The code does not throw an error, but it doesn't give the right answers. Most lists I input stay the same. Even numbers are not removed.
	<alt>It doesn't seem like my function modifies anything on most input lists.
	<alt>I can't figure out why my function doesn't remove most of the even numbers in the lists I input.
Assistant: Can you explain your function to me line by line?
	<alt>Do you observe any patterns in the outputs of your function or is it always returning a list identical to the input?
	<alt>It seems that you're instantiating a new list `newNums`, appending elements to it, and then returning it. What would cause `newNums` to be identical to `nums`?
User: OK. My method takes a list of numbers. Then, I create a new list of numbers called `newNums` to store the new numbers. Then, I create a for loop that goes through every element in the list. For every element, I divide it by 2 to see if the result will be 0. If it is, then I would add it to the list. Finally, I output the new array.
Assistant: Let's manually run through your if statement with the number 8 as `i`. Would your code append 8 to `newNums`?
	<alt>Can you explain what line 4 of your code does?
	<alt>It seems that you're instantiating a new list `newNums`, appending elements to it, and then returning it. What would cause `newNums` to be identical to `nums`?
	<alt>When does dividing by 2 give you 0?
	<alt>How do you check if a number is even in your code?
User: Walking through the code, I would get 4, so it wouldn't select 8 even though it should. I just want to test divisibility. Maybe I should chain it with another operator?
Assistant: Let's review the Python documentation for arithmetic operations. Are you using the right operator to check if a number is even?
	<alt>Hm, it seems like the current method won't work for divisibility. Where can you look for more information about divisibility testing in Python?
	<alt>Where can you learn more about arithmetic operators in Python?
User: Hm ok, let me try modulus. It works!
<code>
1. def removeEven(nums):
2.  newNums = []
3.  for i in nums:
4.    if i % 2 != 0:
5.      newNums.append(i)
6.  return newNums

</code>
Assistant: Great! Happy to help!
User: Thank you so much for your help! I learned more about how to check for divisibility in Python.
</dialogue>