-
Notifications
You must be signed in to change notification settings - Fork 0
/
number.py
132 lines (95 loc) · 2.99 KB
/
number.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
## Understanding Syntax Errors
## What if you forget to add a quotation to your code
# print("hello, world")
# ## Understand that this cannot take anything but integers, including negatives integers
# x = int(input("what's x? "))
# print(f"x is {x}")
## How to write code that can handle Value Errors, so that the output is a more friendly output instead of some type of error when an integer is not used by a user
### Value Errors and 'try' and 'except'
# try:
# x = int(input("what's x? "))
# print(f"x is {x}")
# except ValueError:
# print("x is not an integer")
# ## A better approach to code above, approach to 'NameError'
# try:
# x = int(input("what's x? ")) # the name error is coming from this part because the int() is not accepting anything but integers
# except ValueError:
# print("x is not an integer")
# print(f"x is {x}")
# ## How to approach the 'NameError' from code above when an integer is not inputed by the user
# try:
# x = int(input("what's x? "))
# except ValueError:
# print("x is not an integer")
# else:
# print(f"x is {x}")
## Let's refine this code even more
# ## Integrating loop, where the loop will continue until used inputs an integer
# while True:
# try:
# x = int(input("what's x? "))
# except ValueError:
# print("x is not an integer")
# else:
# break
# print(f"x is {x}")
# ## You can also include the break after 'x=', to minimize the number of lines of code
# ## This is logically correct because the loop will tyr to run the input of 'x' and then break
# ## If not it will go to the next line and continue the loop until an integer is inputted by user
# while True:
# try:
# x = int(input("what's x? "))
# break
# except ValueError:
# print("x is not an integer")
# print(f"x is {x}")
# ## Let's refine even futher
# ## Creating a function
# def main():
# x = get_in()
# print(f"x is {x}")
# def get_in():
# while True:
# try:
# x = int(input("what's x? "))
# except ValueError:
# print("x is not an integer")
# else:
# break
# return x
# main()
# ## Tidy even more the code above
# def main():
# x = get_in()
# print(f"x is {x}")
# def get_in():
# while True:
# try:
# return int(input("what's x? "))
# except ValueError:
# print("x is not an integer")
# main()
# ## Using the 'pass'; this will loop until an integer is inputted by user
# def main():
# x = get_in()
# print(f"x is {x}")
# def get_in():
# while True:
# try:
# return int(input("what's x? "))
# except ValueError:
# pass
# main()
## Further the code above, by making a more reusable code
## The below will not hard code in defining x
def main():
x = get_in("what's x? ")
print(f"x is {x}")
def get_in(prompt):
while True:
try:
return int(input(prompt))
except ValueError:
pass
main()