Friday, July 29, 2022

Are there any Python tuple methods?

The tuple methods can be easily found by creating a tuple and using the dir built-in function.
test = ("test1", "test2")
print("dir(test) = {}".format(dir(test)))
Output:
dir(test) = ['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count', 'index']
From all of these built-in methods the last two in previous list are used on tuples and these are: count(), and index(). The count() is a built-in method that returns the number of times a specified value occurs in tuple. The index() is a built-in method that searches the tuple for a specified value and returns the position of where it was found.
Example 1 Create a list containing 100 elements that are random integers in range from 0 to 10 (including 10). Then convert the list into a tuple and develop a procedure for creating a list of unique tuple elements. Then using the count tuple built-in method print out the number of times each element (number) in a tuple occurs. Solution First step: Create a list of 100 random integers in range from 0 to 10 To do this we have to import the random library.
import random
Now we have to create a list of 100 random integers in the range from 0 to 10 (including 10). To do this we will need the random randint function.
testList = [random.randint(0,10) for i in range(0,100,1)]
To see if we have generated the list of 100 random integers we will print the testList.
print("testList = {}".format(testList))
Output:
testList = [2, 9, 1, 4, 1, 7, 7, 7, 10, 6, 3, 1, 7, 0, 6, 6, 9, 0, 7, 4, 3, 9, 1, 5, 0, 0, 0, 10, 8, 0, 6, 10, 3, 6, 0, 8, 3, 7, 7, 8, 3, 5, 3, 10, 3, 7, 4, 0, 6, 8, 10, 1, 2, 10, 4, 1, 5, 8, 6, 8, 10, 3, 4, 4, 9, 7, 8, 6, 9, 0, 7, 3, 6, 6, 10, 2, 5, 8, 10, 5, 1, 7, 10, 8, 1, 2, 8, 6, 5, 7, 0, 7, 0, 4, 9, 9, 9, 6, 10, 2]
It should be noted since we are using the randint function from a random library the list of generated integers might differ from the sequence in this example. To convert the list to a tuple we will use the tuple function and verify if the list is converted to a tuple we will use the type built-in function.
testTuple = tuple(testList)
print("testTuple = {}".format(testTuple))
print("type(testTuple) = {}".format(type(testTuple)))
Output:
testTuple = (2, 9, 1, 4, 1, 7, 7, 7, 10, 6, 3, 1, 7, 0, 6, 6, 9, 0, 7, 4, 3, 9, 1, 5, 0, 0, 0, 10, 8, 0, 6, 10, 3, 6, 0, 8, 3, 7, 7, 8, 3, 5, 3, 10, 3, 7, 4, 0, 6, 8, 10, 1, 2, 10, 4, 1, 5, 8, 6, 8, 10, 3, 4, 4, 9, 7, 8, 6, 9, 0, 7, 3, 6, 6, 10, 2, 5, 8, 10, 5, 1, 7, 10, 8, 1, 2, 8, 6, 5, 7, 0, 7, 0, 4, 9, 9, 9, 6, 10, 2)
type(testTuple) = <class 'tuple'>

Procedure for finding unit tuple elements. The procedure for finding unique elements in a list or tuple is very simple. An empty list will be created and then used when traversing a tuple i.e. each time the new element in the tuple is found it will be appended to the empty list.
uniqueList = []
for x in testTuple:
if x not in uniqueList:
uniqueList.append(x)
uniqueList.sort()
print("uniqueList = {}".format(uniqueList))
The previous code will traverse over the testTuple. Each time the element from the testTuple is not found in the uniqueList it will be appended to uniqueList. After the tuple is traversed the uniqueList will be sorted using sort() built-in function and finally, the list will be shown as output using the print function.
Output:
uniqueList = [0,1,2,3,4,5,6,7,8,9,10]
Final part: print out the number of times each element (number) in tuple occurs.
for i in range(len(uniqueList)):
print("""The number {} occurs {} times in testTuple.""".format(uniqueList[i],\
testTuple.count(uniqueList[i]))
Output:
The number 0 occurs 11 times in a testTuple.
The number 1 occurs 8 times in a testTuple.
The number 2 occurs 5 times in a testTuple.
The number 3 occurs 9 times in a testTuple.
The number 4 occurs 7 times in a testTuple.
The number 5 occurs 6 times in a testTuple.
The number 6 occurs 12 times in a testTuple.
The number 7 occurs 13 times in a testTuple.
The number 8 occurs 10 times in a testTuple.
The number 9 occurs 8 times in a testTuple.
The number 10 occurs 11 times in a testTuple.
The entire code for this example is given below.
import random
testList = [random.randint(0,10) for i in range(0,100,1)]
print("testList = {}".format(testList))
testTuple = tuple(testList)
print("testTuple = {}".format(testTuple))
print("type(testTuple) = {}".format(type(testTuple)))
uniqueList = []
for x in testTuple:
if x not in uniqueList:
uniqueList.append(x)
uniqueList.sort()
print("uniqueList = {}".format(uniqueList))
for i in range(len(uniqueList)):
print("""The number {} occurs {} times in a testTuple.""".format(uniqueList[i],\
testTuple.count(uniqueList[i])))
Entire output:
testList = [2, 9, 1, 4, 1, 7, 7, 7, 10, 6, 3, 1, 7, 0, 6, 6, 9, 0, 7, 4, 3, 9, 1, 5, 0, 0, 0, 10, 8, 0, 6, 10, 3, 6, 0, 8, 3, 7, 7, 8, 3, 5, 3, 10, 3, 7, 4, 0, 6, 8, 10, 1, 2, 10, 4, 1, 5, 8, 6, 8, 10, 3, 4, 4, 9, 7, 8, 6, 9, 0, 7, 3, 6, 6, 10, 2, 5, 8, 10, 5, 1, 7, 10, 8, 1, 2, 8, 6, 5, 7, 0, 7, 0, 4, 9, 9, 9, 6, 10, 2]
testTuple = (2, 9, 1, 4, 1, 7, 7, 7, 10, 6, 3, 1, 7, 0, 6, 6, 9, 0, 7, 4, 3, 9, 1, 5, 0, 0, 0, 10, 8, 0, 6, 10, 3, 6, 0, 8, 3, 7, 7, 8, 3, 5, 3, 10, 3, 7, 4, 0, 6, 8, 10, 1, 2, 10, 4, 1, 5, 8, 6, 8, 10, 3, 4, 4, 9, 7, 8, 6, 9, 0, 7, 3, 6, 6, 10, 2, 5, 8, 10, 5, 1, 7, 10, 8, 1, 2, 8, 6, 5, 7, 0, 7, 0, 4, 9, 9, 9, 6, 10, 2)
type(testTuple) = <class 'tuple'>
unqiueList = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
The number 0 occurs 11 times in a testTuple.
The number 1 occurs 8 times in a testTuple.
The number 2 occurs 5 times in a testTuple.
The number 3 occurs 9 times in a testTuple.
The number 4 occurs 7 times in a testTuple.
The number 5 occurs 6 times in a testTuple.
The number 6 occurs 12 times in a testTuple.
The number 7 occurs 13 times in a testTuple.
The number 8 occurs 10 times in a testTuple.
The number 9 occurs 8 times in a testTuple.
The number 10 occurs 11 times in a testTuple.



Example 2 Create a program that will show as output index of tuple elements. However, the tuple and list with elements that will be used in the search are randomly generated using a random library i.e. the randint function.
Solution: To solve this problem first we have to import the random library, and then we have to create two lists. One list will be converted to a tuple while the other will be used for searching through a tuple. For this example, the range of integers for the baselist i.e. baseTuple will be from 0 to 100 and the length of the list will be 100. The second list named ListQuerry will consist of randomly generated integers in the range from 0 to 100 and the length of the list will be 100.
import random
BaseTuple = tuple([random.randint(0,100) for i in range(0,100,1)])
ListQuerry = [random.randint(0,100) for i in range(0,10,1)]
print("BaseTuple = {}".format(BaseTuple))
print("ListQuerry = {}".format(ListQuerry))
Output:
BaseTuple = (17, 72, 97, 8, 32, 15, 63, 97, 57, 60, 83, 48, 100, 26, 12, 62, 3, 49, 55, 77, 97, 98, 0, 89, 57, 34, 92, 29, 75, 13, 40, 3, 2, 3, 83, 69, 1, 48, 87, 27, 54, 92, 3, 67, 28, 97, 56, 63, 70, 29, 44, 29, 86, 28, 97, 58, 37, 2, 53, 71, 82, 12, 23, 80, 92, 37, 15, 95, 42, 92, 91, 64, 54, 64, 85, 24, 38, 36, 75, 63, 64, 50, 75, 4, 61, 31, 95, 51, 53, 85, 22, 46, 70, 89, 99, 86, 94, 47, 11, 56)
ListQuerry = [84, 65, 13, 99, 20, 66, 50, 47, 62, 93]
The second step is to create for loop with the if-else statement. The other approach would be to create a while loop with try and except since the index built-in function returns ValueError if the element is not found in the tuple. However, in this case, we have chosen the for loop with the if-else statement. The for loop will traverse over the ListQuerry list and search in tuple if an element exists. If the element exists then the index function will return the index number at which the tuple element is located in the tuple. On the other hand, if the element from ListQuerry does not exist in the BaseTuple then the program will show as output the string for example "The element 84 is not in the BaseTuple".
for i in range(len(ListQuerry)):
if ListQuerry[i] in BaseTuple:
print("The element {} is at index {} in BaseTuple".format(ListQuerry[i],\
BaseTuple.index(ListQuerry[i])))
else:
print("The element {} is not in the BaseTuple".format(ListQuerry[i]))
Output:
The element 84 is not in the BaseTuple
The element 65 is not in the BaseTuple
The element 13 is at index 29 in BaseTuple
The element 99 is at index 94 in BaseTuple
The element 20 is not in the BaseTuple
The element 66 is not in the BaseTuple
The element 50 is at index 81 in BaseTuple
The element 47 is at index 97 in BaseTuple
The element 62 is at index 15 in BaseTuple
The element 93 is not in the BaseTuple

What is a tuple?

A tuple can be defined as a sequence of values that can be any type, and they are indexed by integers. When compared to a list a tuple is immutable which means we cannot change the values of individual elements. The general form of tuple definition can be written as:
tuple_name = item_1, item_2,...,item_n
where tuple_name is the variable name that contains the tuple, and the sequence of items (item_1, item_2,...,item_n) are tuple elements. Using this form we have defined a tuple however, it is common to enclose tuples in parentheses. So the general form of common tuple definition can be written as:
tuple_name = (item_1, item_2, ..., item_n)
A tuple can be created using Python built-in function tuple. The general definition for creating a tuple using the tuple function can be written in the following form:
tuple_name = tuple()
As you can see after the tuple function there is a set of brackets. Since there are not any arguments written inside these brackets this will create an empty tuple.
Example 1 Define a tuple with 5 elements of different value types and then check the type of the variable to which the tuple is assigned. Then try to create two tuples containing only one element (item) with and without a comma after the item.
Solution: Using previously defined general tuple definition we will create tuple.
tup = ('a', 1, 'b', 2.1, True)
print("tup = {}".format(tup))
print("type(tup) = {}".format(type(tup))
which will generate the output given below.
tup = ('a', 1, 'b', 2.1, True)
type(tup) = < class 'tuple'>
Now let's create two new variables tup1 and tup2 that are equal to the only first element of the original tuple (tup). The key difference between tuple t1 and t2 is that after the first element t1 will have a comma and tup2 won't have a comma.
tup1 = ('a', )
tup2 = ('a')
print("type(tup1) = {}".format(type(tup1)))
print("type(tup2) = {}".format(type(tup2)))
The output of the previous code is shown below.
type(tup1) = < type 'tuple' >
type(tup2) = < type 'str' >
As seen from the output the tup1 variable is a tuple type, and tup2 is a string. In case of tup2 variable definition it was defined without comma. So, Python treats ('a') as an expression with a string in parentheses.
Example 2 Construct a tuple using the built-in function tuple. Use a tuple of a string typed by the user.
Solution: Using tuple function with empty parenthesis creates an empty tuple.
t = tuple()
print("t = {}".format(t))
The output is given below:
t = ()
The script for asking the user to input the string and convert it into a tuple is given below.
USER_INPUT = input("Enter a string:> ")
t = tuple(USER_INPUT)
print("t = {}".format(t))
Output:
Enter a string:> This is my first string converted to tuple. t = ('T', 'h', 'i', 's', ' ', 'i', 's', ' ', 'm', 'y', ' ', 'f', 'i', 'r', 's', 't', ' ', 's', 't', 'r', 'i', 'n', 'g', ' ', 'c', 'o', 'n', 'v', 'e', 'r', 't', 'e', 'd', ' ', 't', 'o', ' ', 't', 'u', 'p', 'l', 'e')

Example 2 Create a tuple and using for loop print every tuple element. Using a slice print the first 5 elements.
Solution: In this example we will also use user input. From the user input, a tuple will be created using the built-in tuple command and finally, all tuple elements will be shown as the output.
USER_INPUT = input("Enter a string:> ")
t = tuple(USER_INPUT)
for i in t:
print("t[{}] = {}".format(i, t[i]))
OUTPUT:
Enter a string:> This is awesome!
t[0] = T
t[1] = h
t[2] = i
t[3] = s
t[4] =
t[5] = i
t[6] = s
t[7] =
t[8] = a
t[9] = w
t[10] = e
t[11] = s
t[12] = o
t[13] = m
t[14] = e
t[15] = !

Thursday, July 28, 2022

How to use dictionaries and files?

The dictionaries and files can be used together in various ways but the most common use of a dictionary is to count the occurrence of words in a file with some written text. For this tutorial, we created a file "Physics.txt" by copying the entire text on the Wikipedia page "https://en.wikipedia.org/wiki/Physics".
Example 1 Write the program that will ask a user to type the file name and then count the occurrence of each word in the file and save it in the dictionary as a key-value pair. In this example, the key is the word and the value is the number of times the key (word) appears in the text.
Solution: The first step is to write the code that will ask a user to type the file name that will be opened. This will be done using the input function and the string typed by the user will be assigned to the variable name FILE_NAME.
FILE_NAME = input("Enter file name:>  ")
The next step is to try opening the file name provided by the user. The best approach would be to use while loop with try and except. The document with the name entered by the user will try to be opened under the try command. In case the document is opened the break command will stop the while loop. In case the document with the name provided by the user does not exist the except command will be executed i.e. the output will be "File does not exist. Enter another one." and the while loop will be executed again.
The definition of the FILE_NAME variable will be placed under the while True: command.
while True:
FILE_NAME = input("Enter file name:> ")
try:
FILE_OPEN = open(FILE_NAME, encoding='utf-8')
break
except:
print("File does not exits. Enter another one.")
continue
Now that file is successfully opened we have to create a procedure to count the words in the file. First, we will define an empty dictionary and assign it to a variable named COUNT_WORDS. Then we will create for loop which will "read" the file line by line and convert each line into a list of words i.e. break line into words in list form using split() function. Then the second for loop will be created that will traverse over a list of words and create key-value pair values in dictionary. However, we have to create if-else statement to update or create key-value pair. If the key-value pair does not exist than create key-value pair with value set to 1 since it is first occurence of that word in text. If the key-value pair does already exist than just increase value of key-value pair by 1.
COUNT_WORDS = {}
for line in FILE_OPEN:
words = line.split()
for word in words:
if word not in COUNT_WORDS:
COUNT_WORDS[word] = 1
else:
COUNT_WORDS[word] += 1
print("COUNT_WORDS = {}".format(COUNT_WORDS))
The entire code is given below.
while True:
FILE_NAME = input("Enter file name:> ")
try:
FILE_OPEN = open(FILE_NAME, encoding='utf-8')
break
except:
print("File does not exits. Enter another one.")
continue
COUNT_WORDS = {}
for line in FILE_OPEN:
words = line.split()
for word in words:
if word not in COUNT_WORDS:
COUNT_WORDS[word] = 1
else:
COUNT_WORDS[word] += 1
print("COUNT_WORDS = {}".format(COUNT_WORDS))
Output:
Enter file name:> Physics.txt
COUNT_WORDS = {'Hide': 1, 'WLE': 1, 'Austria': 1, 'Logo': 1, '(no': 1, 'text).svgWiki': 1, 'Loves': 1, 'Earth': 3, 'photo': 1, 'contest': 1, 'during': 7, 'June': 10, '2022:': 1, 'Upload': 2, 'photos': 1, 'of': 461, 'natural': 10, 'heritage': 1, 'sites': 1, 'in': 170, 'Croatia': 1, 'to': 120, 'help': 2, 'Wikipedia': 3, 'and': 324, 'promote': 1, 'nature!': 1, 'Page': 2, 'semi-protected': 1, 'Physics': 45, 'From': 6, 'Wikipedia,': 1, 'the': 498, 'free': 3, 'encyclopedia': 1, 'Jump': 1, 'navigationJump': 1, 'search': 2, 'For': 14, 'other': 21, 'uses,': 1, 'see': 6, '(disambiguation).': 1, 'Not': 2, 'be': 30, 'confused': 1, 'with': 66, 'Physis.': 1, 'Various': 1, 'examples': 3, 'physical': 13, 'phenomena': 12, 'Part': 1, 'a': 117, 'series': 1, 'on': 79, 'Stylised': 1, 'atom': 3, 'three': 4, 'Bohr': 1, 'model': 8, 'orbits': 1, 'stylised': 1, 'nucleus.png': 1, 'The': 70, 'fundamental': 14, 'science': 14, 'IndexOutlineGlossary': 1, 'History': 12, '(timeline)': 1, 'Branches': 4, 'Research': 14, 'icon': 2, 'portal': 5, 'Category': 1, 'vte': 5, 'is': 102, 'that': 65, 'studies': 4, 'matter,[a]': 1, 'its': 18, 'constituents,': 1, 'motion': 14, 'behavior': 2, 'through': 4, 'space': 5, 'time,': 7, 'related': 6, 'entities': 1, 'energy': 12, 'force.[2]': 1, 'one': 19, 'most': 14, 'scientific': 9, 'disciplines,': 1, 'main': 2, 'goal': 1, 'being': 3, 'understand': 6, 'how': 7, 'universe': 7, 'behaves.[b][3][4][5]': 1, 'A': 13, 'scientist': 1, 'who': 12, 'specializes': 1, 'field': 17, 'physics': 132, 'called': 10, 'physicist.': 1, 'oldest': 2, 'academic': 2, 'disciplines': 5, 'and,': 2, 'inclusion': 1, 'astronomy,': 3, 'perhaps': 1, 'oldest.[6]': 1, 'Over': 1, 'much': 10, 'past': 1, 'two': 11, 'millennia,': 1, 'physics,': 43, 'chemistry,': 8, 'biology,': 1, 'certain': 7, 'branches': 5, 'mathematics': 11, 'were': 14, 'part': 5, 'philosophy,': 1, 'but': 19, 'Scientific': 5, 'Revolution': 2, '17th': 4, 'century': 5, 'these': 12, 'sciences': 3, 'emerged': 1, 'as': 60, 'unique': 1, 'research': 17, 'endeavors': 1, 'their': 16, 'own': 2, 'right.[c]': 1, 'intersects': 1, 'many': 13, 'interdisciplinary': 2, 'areas': 6, 'research,': 4, 'such': 24, 'biophysics': 1, 'quantum': 19, 'boundaries': 1, 'are': 54, 'not': 22, 'rigidly': 1, 'defined.': 1, 'New': 6, 'ideas': 6, 'often': 9, 'explain': 4, 'mechanisms': 2, 'studied': 4, 'by': 54, 'sciences[3]': 1, 'suggest': 1, 'new': 18, 'avenues': 1, 'philosophy.': 2, 'Advances': 1, 'enable': 1, 'advances': 4, 'technologies.': 1, 'example,': 11, 'understanding': 6, 'electromagnetism,': 3, 'solid-state': 3, 'nuclear': 11, 'led': 5, 'directly': 1, 'development': 10, 'products': 1, 'have': 17, 'dramatically': 1, 'transformed': 1, 'modern-day': 1, 'society,': 1, 'television,': 1, 'computers,': 2, 'domestic': 1, 'appliances,': 1, 'weapons;[3]': 1, 'thermodynamics': 3, 'industrialization;': 1, 'mechanics': 20, 'inspired': 1, 'calculus.': 1, 'Contents': 2, '1': 13, '1.1': 1, 'Ancient': 7, 'astronomy': 10, '1.2': 1, 'Natural': 7, 'philosophy': 8, '1.3': 1, 'Medieval': 5, 'European': 6, 'Islamic': 5, '1.4': 1, 'Classical': 12, '1.5': 1, 'Modern': 14, '2': 5, 'Philosophy': 9, '3': 2, 'Core': 2, 'theories': 17, '3.1': 1, '3.2': 1, '3.2.1': 1, 'Fundamental': 4, 'concepts': 5, 'modern': 13, '3.3': 1, 'Difference': 2, '4': 6, 'Relation': 3, 'fields': 14, '4.1': 1, 'Prerequisites': 2, '4.2': 1, 'Application': 2, 'influence': 4, '5': 3, '5.1': 1, 'method': 4, '5.2': 1, 'Theory': 9, 'experiment': 6, '5.3': 1, 'Scope': 2, 'aims': 6, '5.4': 1, '5.4.1': 1, 'Nuclear': 8, 'particle': 18, '5.4.2': 1, 'Atomic,': 5, 'molecular,': 6, 'optical': 8, '5.4.3': 1, 'Condensed': 12, 'matter': 27, '5.4.4': 1, 'Astrophysics': 5, '5.5': 1, 'Current': 5, '6': 1, 'See': 6, 'also': 23, '7': 5, 'Notes': 2, '8': 2, 'References': 2, '9': 2, 'Sources': 2, '10': 6, 'External': 2, 'links': 4, 'Main': 16, 'article:': 11, 'word': 3, '"physics"': 1, 'comes': 2, 'from': 69, 'Greek:': 1, 'φυσική': 1, '(ἐπιστήμη),': 1, 'romanized:': 1, 'physikḗ': 1, '(epistḗmē),': 1, 'meaning': 1, '"knowledge': 1, 'nature".[8][9][10]': 1, 'Egyptian': 3, 'evident': 1, 'monuments': 2, 'like': 9, 'ceiling': 1, "Senemut's": 1, 'tomb': 1, 'Eighteenth': 1, 'Dynasty': 1, 'Egypt.': 1, 'Astronomy': 2, 'sciences.': 4, 'Early': 3, 'civilizations': 1, 'dating': 2, 'back': 2, 'before': 5, '3000': 1, 'BCE,': 1, 'Sumerians,': 1, 'ancient': 6, 'Egyptians,': 1, 'Indus': 1, 'Valley': 1, 'Civilisation,': 1, 'had': 10, 'predictive': 1, 'knowledge': 6, 'basic': 8, 'awareness': 1, 'motions': 3, 'Sun,': 1, 'Moon,': 1, 'stars.': 1, 'stars': 3, 'planets,': 1, 'believed': 1, 'represent': 1, 'gods,': 1, 'worshipped.': 1, 'While': 2, 'explanations': 3, 'for': 60, 'observed': 4, 'positions': 2, 'unscientific': 1, 'lacking': 1, 'evidence,': 1, 'early': 9, 'observations': 5, 'laid': 1, 'foundation': 2, 'later': 5, 'found': 6, 'traverse': 1, 'great': 2, 'circles': 1, 'across': 2, 'sky,[6]': 1, 'which': 33, 'however': 1, 'did': 1, 'planets.': 1, 'According': 1, 'Asger': 1, 'Aaboe,': 2, 'origins': 2, 'Western': 4, 'can': 10, 'Mesopotamia,': 1, 'all': 13, 'efforts': 2, 'exact': 2, 'descended': 1, 'late': 2, 'Babylonian': 1, 'astronomy.[11]': 1, 'astronomers': 2, 'left': 1, 'showing': 1, 'constellations': 2, 'celestial': 3, 'bodies,[12]': 1, 'while': 9, 'Greek': 6, 'poet': 1, 'Homer': 1, 'wrote': 2, 'various': 4, 'objects': 6, 'his': 12, 'Iliad': 1, 'Odyssey;': 1, 'provided': 7, 'names,': 1, 'still': 3, 'used': 13, 'today,': 3, 'visible': 3, 'Northern': 1, 'Hemisphere.[13]': 1, 'has': 16, 'Greece': 1, 'Archaic': 1, 'period': 2, '(650': 1, 'BCE': 1, '–': 20, '480': 1, 'BCE),': 1, 'when': 11, 'pre-Socratic': 1, 'philosophers': 2, 'Thales': 2, 'rejected': 1, 'non-naturalistic': 1, 'proclaimed': 1, 'every': 1, 'event': 2, 'cause.[14]': 1, 'They': 2, 'proposed': 3, 'verified': 1, 'reason': 2, 'observation,': 2, 'hypotheses': 1, 'proved': 1, 'successful': 1, 'experiment;[15]': 1, 'atomism': 1, 'was': 35, 'correct': 1, 'approximately': 1, '2000': 1, 'years': 3, 'after': 2, 'it': 15, 'Leucippus': 1, 'pupil': 1, 'Democritus.[16]': 1, 'articles:': 4, 'Middle': 1, 'Ages': 1, 'medieval': 2, 'world': 9, 'Roman': 2, 'Empire': 2, 'fell': 1, 'fifth': 1, 'century,': 6, 'this': 18, 'resulted': 2, 'decline': 1, 'intellectual': 1, 'pursuits': 1, 'western': 1, 'Europe.': 2, 'By': 5, 'contrast,': 1, 'Eastern': 1, '(also': 3, 'known': 10, 'Byzantine': 2, 'Empire)': 1, 'resisted': 1, 'attacks': 1, 'barbarians,': 1, 'continued': 1, 'advance': 2, 'learning,': 1, 'including': 7, 'physics.[17]': 1, 'In': 17, 'sixth': 1, 'Isidore': 1, 'Miletus': 1, 'created': 3, 'an': 29, 'important': 10, 'compilation': 1, "Archimedes'": 2, 'works': 5, 'copied': 1, 'Archimedes': 1, 'Palimpsest.': 1, 'Ibn': 10, 'Al-Haytham': 1, '(Alhazen)': 1, 'drawing': 1, 'al-Haytham': 2, '(c.': 1, '965–c.': 1, '1040),': 1, 'Book': 8, 'Optics': 5, 'I,': 2, '[6.85],': 2, '[6.86].': 1, 'II,': 3, '[3.80]': 1, 'describes': 2, 'camera': 4, 'obscura': 2, 'experiments.[18]': 1, 'sixth-century': 1, 'Europe': 1, 'John': 4, 'Philoponus,': 2, 'scholar,': 1, 'questioned': 1, "Aristotle's": 5, 'teaching': 1, 'noted': 3, 'flaws.': 1, 'He': 2, 'introduced': 2, 'theory': 23, 'impetus.': 2, 'scrutinized': 1, 'until': 3, 'Philoponus': 4, 'appeared;': 1, 'unlike': 1, 'Aristotle,': 1, 'based': 2, 'verbal': 3, 'argument,': 1, 'relied': 1, 'observation.': 1, 'On': 2, 'wrote:': 1, 'But': 4, 'completely': 1, 'erroneous,': 1, 'our': 4, 'view': 4, 'may': 7, 'corroborated': 1, 'actual': 2, 'observation': 4, 'more': 8, 'effectively': 1, 'than': 7, 'any': 3, 'sort': 1, 'argument.': 1, 'if': 5, 'you': 4, 'let': 2, 'fall': 1, 'same': 5, 'height': 3, 'weights': 2, 'times': 4, 'heavy': 1, 'other,': 4, 'will': 6, 'ratio': 2, 'required': 1, 'does': 1, 'depend': 2, 'weights,': 1, 'difference': 3, 'time': 5, 'very': 12, 'small': 4, 'one.': 1, 'And': 3, 'so,': 2, 'considerable,': 1, 'is,': 4, 'us': 2, 'say,': 2, 'double': 1, 'there': 3, 'no': 5, 'difference,': 2, 'or': 21, 'else': 1, 'imperceptible': 1, 'though': 1, 'weight': 1, 'means': 3, 'negligible,': 1, 'body': 2, 'weighing': 4, 'twice': 1, 'other[19]': 1, "Philoponus'": 1, 'criticism': 1, 'Aristotelian': 3, 'principles': 1, 'served': 1, 'inspiration': 2, 'Galileo': 5, 'Galilei': 2, 'ten': 2, 'centuries': 2, 'later,[20]': 1, 'Revolution.': 1, 'cited': 1, 'substantially': 1, 'arguing': 1, 'flawed.[21][22]': 1, '1300s': 1, 'Jean': 1, 'Buridan,': 1, 'teacher': 1, 'faculty': 1, 'arts': 1, 'at': 24, 'University': 17, 'Paris,': 1, 'developed': 5, 'concept': 1, 'It': 4, 'step': 1, 'toward': 2, 'inertia': 1, 'momentum.[23]': 1, 'scholarship': 1, 'inherited': 1, 'Greeks': 2, 'Golden': 1, 'Age': 1, 'further,': 1, 'especially': 2, 'placing': 1, 'emphasis': 1, 'priori': 2, 'reasoning,': 1, 'developing': 3, 'forms': 3, 'method.': 1, 'way': 5, 'pinhole': 2, 'notable': 2, 'innovations': 1, 'optics': 3, 'vision,': 2, 'came': 4, 'scientists': 1, 'Sahl,': 1, 'Al-Kindi,': 1, 'al-Haytham,': 2, 'Al-Farisi': 1, 'Avicenna.': 1, 'work': 14, 'Kitāb': 2, 'al-Manāẓir),': 1, 'written': 4, 'he': 11, 'conclusively': 1, 'disproved': 1, 'idea': 1, 'about': 8, 'up': 4, 'theory.': 2, 'book,': 2, 'presented': 2, 'study': 19, 'phenomenon': 2, '(his': 1, 'thousand-year-old': 1, 'version': 2, 'camera)': 1, 'delved': 1, 'further': 2, 'into': 6, 'eye': 2, 'itself': 1, 'works.': 2, 'Using': 1, 'dissections': 1, 'previous': 1, 'scholars,': 1, 'able': 3, 'begin': 1, 'light': 7, 'enters': 1, 'eye.': 1, 'asserted': 1, 'ray': 1, 'focused,': 1, 'explanation': 2, 'projected': 1, 'wait': 1, '1604.': 1, 'His': 2, 'Treatise': 1, 'Light': 1, 'explained': 1, 'obscura,': 1, 'hundreds': 1, 'photography.[24]': 1, 'seven-volume': 1, '(Kitab': 1, 'al-Manathir)': 1, 'hugely': 1, 'influenced': 3, 'thinking': 1, 'visual': 1, 'perception': 1, 'nature': 9, 'perspective': 1, 'art,': 1, 'both': 7, 'East': 1, 'West,': 1, '600': 1, 'years.': 1, 'Many': 3, 'scholars': 2, 'fellow': 1, 'polymaths,': 1, 'Robert': 1, 'Grosseteste': 1, 'Leonardo': 1, 'da': 1, 'Vinci': 1, 'René': 1, 'Descartes,': 1, 'Johannes': 1, 'Kepler': 2, 'Isaac': 2, 'Newton,': 1, 'debt.': 1, 'Indeed,': 1, "al-Haytham's": 4, 'ranks': 1, 'alongside': 1, "Newton's": 5, 'title,': 1, 'published': 1, '700': 1, 'later.': 1, 'translation': 1, 'huge': 1, 'impact': 1, 'it,': 2, 'build': 2, 'devices': 1, 'replicated': 1, 'those': 4, 'built,': 1, 'this,': 2, 'inventions': 1, 'eyeglasses,': 1, 'magnifying': 1, 'glasses,': 1, 'telescopes,': 1, 'cameras': 1, 'developed.': 2, 'showed': 1, 'appreciation': 1, 'proper': 1, 'relationship': 1, 'between': 10, 'mathematics,': 2, 'theoretical': 8, 'experimental': 10, 'physics.': 12, 'Sir': 1, 'Newton': 4, '(1643–1727),': 1, 'whose': 6, 'laws': 12, 'universal': 6, 'gravitation': 2, 'major': 3, 'milestones': 1, 'classical': 17, 'became': 1, 'separate': 1, 'Europeans': 1, 'quantitative': 2, 'methods': 7, 'discover': 2, 'what': 5, 'now': 5, 'considered': 4, 'physics.[25][page': 1, 'needed]': 2, 'Major': 3, 'developments': 2, 'include': 8, 'replacement': 1, 'geocentric': 1, 'Solar': 6, 'System': 2, 'heliocentric': 1, 'Copernican': 1, 'model,': 3, 'governing': 1, 'planetary': 1, 'bodies': 6, '(determined': 1, '1609': 1, '1619),': 1, "Galileo's": 2, 'pioneering': 1, 'telescopes': 1, 'observational': 1, '16th': 1, 'Centuries,': 1, 'discovery': 8, 'unification': 1, '(that': 1, 'would': 8, 'come': 4, 'bear': 1, 'name).[26]': 1, 'calculus,[d]': 1, 'mathematical': 14, 'change,': 1, 'solving': 4, 'problems.[27]': 1, 'thermodynamics,': 3, 'electromagnetics': 1, 'greater': 2, 'Industrial': 2, 'needs': 1, 'increased.[28]': 1, 'comprising': 1, 'remain': 2, 'widely': 1, 'everyday': 2, 'scales': 2, 'travelling': 1, 'non-relativistic': 1, 'speeds,': 1, 'since': 4, 'they': 8, 'provide': 1, 'close': 1, 'approximation': 2, 'situations,': 1, 'relativity': 11, 'simplify': 1, 'equivalents': 1, 'scales.': 4, 'However,': 3, 'inaccuracies': 2, 'high': 4, 'velocities': 1, '20th': 7, 'century.': 2, 'also:': 1, 'special': 7, 'Max': 4, 'Planck': 4, '(1858–1947),': 1, 'originator': 1, 'Albert': 5, 'Einstein': 4, '(1879–1955),': 1, 'photoelectric': 2, 'effect': 4, 'revolution': 1, 'began': 1, "Einstein's": 4, 'relativity.': 3, 'Both': 2, 'due': 1, 'situations.': 1, 'predicted': 3, 'varying': 1, 'speed': 8, 'light,': 2, 'could': 3, 'resolved': 1, 'constant': 2, "Maxwell's": 1, 'equations': 3, 'electromagnetism;': 1, 'discrepancy': 1, 'corrected': 2, 'relativity,': 4, 'replaced': 2, 'fast-moving': 1, 'allowed': 5, 'light.[29]': 1, 'Black-body': 1, 'radiation': 1, 'another': 3, 'problem': 3, 'excitation': 1, 'material': 2, 'oscillators': 1, 'possible': 3, 'only': 5, 'discrete': 3, 'steps': 1, 'proportional': 1, 'frequency;': 1, 'along': 3, 'complete': 1, 'predicting': 1, 'levels': 1, 'electron': 3, 'orbitals,': 1, 'taking': 1, 'over': 3, 'scales.[30]': 1, 'Quantum': 15, 'pioneered': 1, 'Werner': 2, 'Heisenberg,': 2, 'Erwin': 2, 'Schrödinger': 5, 'Paul': 2, 'Dirac.[30]': 1, 'work,': 2, 'fields,': 2, 'Standard': 10, 'Model': 4, 'derived.[31]': 1, 'Following': 1, 'properties': 4, 'consistent': 3, 'Higgs': 7, 'boson': 1, 'CERN': 2, '2012,[32]': 1, 'particles': 15, 'standard': 2, 'others,': 1, 'appear': 3, 'exist;': 1, 'however,': 1, 'beyond': 4, 'Model,': 3, 'supersymmetry,': 2, 'active': 4, 'area': 3, 'research.[33]': 1, 'Areas': 1, 'general': 4, 'field,': 2, 'probabilities': 1, 'groups.': 1, 'ways,': 1, 'stems': 1, "Thales'": 1, 'first': 8, 'attempt': 1, 'characterize': 1, 'matter,': 5, "Democritus'": 1, 'deduction': 1, 'ought': 1, 'reduce': 1, 'invariant': 1, 'state,': 1, 'Ptolemaic': 1, 'crystalline': 1, 'firmament,': 1, 'book': 5, '(an': 1, 'attempted': 1, 'analyze': 1, 'define': 1, 'philosophical': 4, 'point': 1, 'view),': 1, 'advanced': 1, 'nature.': 3, '18th': 1, 'century.[e]': 1, '19th': 4, 'realized': 1, 'discipline': 1, 'distinct': 2, 'Physics,': 2, 'rest': 1, 'science,': 3, 'relies': 1, '"scientific': 1, 'method"': 1, 'world.[35]': 1, 'employs': 1, 'reasoning': 2, 'well': 2, 'posteriori': 1, 'use': 8, 'Bayesian': 1, 'inference': 1, 'measure': 2, 'validity': 4, 'given': 2, 'theory.[36]': 1, 'answered': 1, 'questions': 1, 'philosophers,': 1, 'raised': 1, 'questions.': 1, 'Study': 1, 'issues': 2, 'surrounding': 2, 'involves': 2, 'determinism,': 1, 'metaphysical': 1, 'outlooks': 1, 'empiricism,': 1, 'naturalism': 1, 'realism.[37]': 1, 'physicists': 9, 'implications': 2, 'instance': 1, 'Laplace,': 2, 'championed': 1, 'causal': 1, 'determinism,[38]': 1, 'Schrödinger,': 4, 'mechanics.[39][40]': 1, 'physicist': 2, 'Roger': 2, 'Penrose': 5, 'been': 6, 'Platonist': 2, 'Stephen': 1, 'Hawking,[41]': 1, 'discusses': 1, 'Road': 2, 'Reality.[42]': 1, 'Hawking': 2, 'referred': 1, 'himself': 1, '"unashamed': 1, 'reductionist"': 1, 'took': 1, 'issue': 1, "Penrose's": 1, 'views.[43]': 1, 'Further': 2, 'information:': 2, 'Outline': 1, 'Though': 1, 'deals': 5, 'wide': 2, 'variety': 1, 'systems,': 1, 'physicists.': 1, 'Each': 1, 'experimentally': 3, 'tested': 2, 'numerous': 1, 'adequate': 1, 'instance,': 2, 'accurately': 2, 'objects,': 1, 'larger': 1, 'atoms': 4, 'moving': 2, 'less': 1, 'light.': 5, 'These': 5, 'continue': 1, 'today.': 1, 'Chaos': 1, 'theory,': 13, 'remarkable': 1, 'aspect': 1, 'mechanics,': 10, 'discovered': 3, 'original': 32, 'formulation': 3, '(1642–1727).': 1, 'central': 3, 'tools': 1, 'specialised': 1, 'topics,': 1, 'physicist,': 1, 'regardless': 1, 'specialisation,': 1, 'expected': 1, 'literate': 1, 'them.': 2, 'statistical': 3, 'includes': 2, 'traditional': 1, 'topics': 1, 'recognised': 1, 'well-developed': 1, 'beginning': 1, 'century—classical': 1, 'acoustics,': 1, 'optics,': 2, 'electromagnetism.': 1, 'concerned': 11, 'acted': 1, 'forces': 6, 'divided': 3, 'statics': 1, '(study': 3, 'subject': 4, 'acceleration),': 1, 'kinematics': 1, 'without': 4, 'regard': 1, 'causes),': 1, 'dynamics': 4, 'affect': 3, 'it);': 1, 'solid': 1, 'fluid': 1, '(known': 1, 'together': 2, 'continuum': 1, 'mechanics),': 1, 'latter': 1, 'hydrostatics,': 1, 'hydrodynamics,': 1, 'aerodynamics,': 1, 'pneumatics.': 1, 'Acoustics': 1, 'sound': 5, 'produced,': 1, 'controlled,': 1, 'transmitted': 1, 'received.[44]': 1, 'Important': 1, 'acoustics': 2, 'ultrasonics,': 1, 'waves': 3, 'frequency': 1, 'range': 2, 'human': 3, 'hearing;': 1, 'bioacoustics,': 1, 'animal': 1, 'calls': 1, 'hearing,[45]': 1, 'electroacoustics,': 1, 'manipulation': 1, 'audible': 1, 'using': 5, 'electronics.[46]': 1, 'Optics,': 3, 'infrared': 1, 'ultraviolet': 1, 'radiation,': 4, 'exhibit': 1, 'except': 1, 'visibility,': 1, 'e.g.,': 1, 'reflection,': 1, 'refraction,': 1, 'interference,': 1, 'diffraction,': 1, 'dispersion,': 1, 'polarization': 1, 'Heat': 1, 'form': 1, 'energy,': 4, 'internal': 2, 'possessed': 1, 'substance': 1, 'composed;': 1, 'relationships': 1, 'heat': 1, 'energy.': 1, 'Electricity': 1, 'magnetism': 1, 'single': 5, 'branch': 4, 'intimate': 1, 'connection': 2, 'them': 3, 'century;': 1, 'electric': 4, 'current': 1, 'gives': 1, 'rise': 1, 'magnetic': 5, 'changing': 1, 'induces': 1, 'current.': 2, 'Electrostatics': 1, 'charges': 1, 'rest,': 1, 'electrodynamics': 1, 'charges,': 1, 'magnetostatics': 1, 'poles': 1, 'rest.': 1, '{\\displaystyle': 3, '{\\hat': 2, '{H}}|\\psi': 2, '_{n}(t)\\rangle': 4, '=i\\hbar': 2, '{\\frac': 2, '{\\partial': 2, '}{\\partial': 2, 't}}|\\psi': 2, '}{\\displaystyle': 1, '}': 1, 'G_{\\mu': 2, '\\nu': 6, '}+\\Lambda': 2, 'g_{\\mu': 2, '}={\\kappa': 2, '}T_{\\mu': 2, '}}{\\displaystyle': 1, '}}': 1, 'Founders': 1, 'Concepts': 3, 'Scientists': 3, 'Categories': 1, 'generally': 1, 'normal': 1, 'scale': 6, 'under': 2, 'extreme': 1, 'conditions': 1, 'large': 4, 'scale.': 1, 'atomic': 10, 'smallest': 1, 'chemical': 1, 'elements': 1, 'identified.': 1, 'elementary': 5, 'even': 5, 'smaller': 1, 'units': 2, 'matter;': 1, 'high-energy': 3, 'because': 8, 'extremely': 2, 'energies': 1, 'necessary': 3, 'produce': 1, 'types': 1, 'accelerators.': 1, 'scale,': 1, 'ordinary,': 1, 'commonsensical': 1, 'notions': 2, 'space,': 2, 'longer': 2, 'valid.[47]': 1, 'chief': 1, 'present': 1, 'different': 3, 'picture': 2, 'approximates': 1, 'continuous,': 1, 'subatomic': 2, 'level': 1, 'complementary': 1, 'aspects': 3, 'description': 5, 'phenomena.': 3, 'take': 1, 'place': 1, 'frame': 1, 'reference': 1, 'respect': 1, 'observer;': 1, 'absence': 1, 'gravitational': 1, 'gravitation.': 1, 'find': 3, 'applications': 3, 'physics.[48]': 1, 'Causality': 1, 'Covariance': 1, 'Action': 1, 'Physical': 16, 'Symmetry': 1, 'interaction': 2, 'Statistical': 2, 'ensemble': 1, 'Wave': 1, 'Particle': 8, 'domains': 2, 'laws,': 1, 'lie': 1, 'explicit': 1, 'applicability.': 1, 'Solvay': 1, 'Conference': 2, '1927,': 1, 'prominent': 1, 'Einstein,': 1, 'Planck,': 2, 'Hendrik': 1, 'Lorentz,': 1, 'Niels': 1, 'Bohr,': 1, 'Marie': 1, 'Curie,': 1, 'Dirac': 1, 'Loosely': 1, 'speaking,': 1, 'describe': 3, 'systems': 5, 'length': 1, 'slower': 1, 'Outside': 1, 'domain,': 1, 'do': 6, 'match': 2, 'predictions': 4, 'mechanics.': 3, 'contributed': 1, 'framework': 1, 'absolute': 1, 'spacetime': 1, 'accurate': 2, 'components': 1, 'speeds': 1, 'approaching': 1, 'others': 1, 'probabilistic': 1, 'notion': 1, 'interactions': 9, 'Later,': 1, 'unified': 3, 'General': 3, 'dynamical,': 1, 'curved': 1, 'spacetime,': 1, 'highly': 1, 'massive': 3, 'large-scale': 1, 'structure': 3, 'well-described.': 1, 'yet': 1, 'descriptions;': 1, 'several': 3, 'candidate': 1, 'gravity': 1, 'This': 7, 'parabola-shaped': 1, 'lava': 1, 'flow': 1, 'illustrates': 1, 'application': 6, 'physics—in': 1, 'case,': 1, 'law': 4, 'falling': 1, 'bodies.': 1, 'Mathematics': 7, 'ontology': 1, 'chemistry': 3, 'cosmology.': 2, 'provides': 1, 'compact': 1, 'language': 3, 'order': 4, 'advocated': 1, 'Pythagoras,[49]': 1, 'Plato,[50]': 1, 'Galileo,[51]': 1, 'Newton.': 3, 'uses': 1, 'mathematics[52]': 1, 'organise': 1, 'formulate': 1, 'results.': 1, 'results,': 3, 'precise': 1, 'estimated': 1, 'solutions': 1, 'obtained,': 1, 'made': 8, 'confirmed': 2, 'negated.': 1, 'results': 4, 'experiments': 11, 'numerical': 1, 'data,': 1, 'estimates': 1, 'errors': 1, 'measurements.': 1, 'Technologies': 1, 'computation': 1, 'computational': 1, 'research.': 4, 'distinction': 2, 'clear-cut,': 2, 'always': 2, 'obvious,': 1, 'Ontology': 1, 'prerequisite': 1, 'mathematics.': 3, 'ultimately': 1, 'descriptions': 1, 'real': 2, 'world,': 1, 'abstract': 1, 'patterns,': 1, 'world.': 2, 'Thus': 1, 'statements': 4, 'synthetic,': 1, 'analytic.': 1, 'contains': 3, 'hypotheses,': 1, 'theories.': 3, 'logically': 1, 'true,': 1, 'must': 2, 'data.': 1, 'obvious.': 1, 'Its': 3, 'mathematical,': 1, 'physical.[53]': 1, 'problems': 6, 'start': 2, '"mathematical': 2, 'situation"': 1, '(system)': 1, 'law"': 1, 'applied': 8, 'system.': 1, 'Every': 1, 'statement': 3, 'hard-to-find': 1, 'meaning.': 1, 'final': 1, 'solution': 1, 'easier-to-find': 1, 'meaning,': 1, 'solver': 1, 'looking': 1, 'for.[clarification': 1, 'Pure': 1, 'science).': 1, '"the': 1, 'science"': 1, 'geology,': 1, 'biology': 1, 'constrained': 1, 'physics.[54]': 1, 'Similarly,': 1, 'role': 2, 'linking': 1, 'properties,': 1, 'structures,': 1, 'reactions': 2, "(chemistry's": 1, 'focus': 3, 'molecular': 3, 'distinguishes': 1, 'physics).': 1, 'Structures': 1, 'formed': 1, 'exert': 1, 'electrical': 2, 'each': 3, 'characteristics': 1, 'substances,': 1, 'bound': 1, 'conservation': 1, 'mass,': 2, 'charge.': 1, 'industries': 1, 'engineering': 6, 'medicine.': 1, 'Applied': 4, 'implemented': 1, 'acoustic': 2, 'reflecting': 1, 'diffuser': 1, 'screw,': 1, 'simple': 1, 'machine': 1, 'lifting': 1, 'Experiment': 1, 'laser': 1, 'term': 4, 'intended': 2, 'particular': 2, 'use.': 1, 'An': 5, 'curriculum': 1, 'usually': 4, 'few': 1, 'classes': 1, 'discipline,': 1, 'geology': 2, 'engineering.': 2, 'differs': 1, 'designing': 1, 'something': 1, 'particular,': 4, 'rather': 2, 'conducting': 1, 'aim': 1, 'technologies': 2, 'problem.': 1, 'approach': 2, 'similar': 3, 'people': 2, 'working': 1, 'accelerator': 1, 'might': 2, 'seek': 3, 'better': 6, 'detectors': 1, 'heavily': 1, 'statics,': 1, 'subfield': 1, 'building': 1, 'bridges': 1, 'static': 1, 'structures.': 1, 'control': 3, 'concert': 1, 'halls;': 1, 'similarly,': 1, 'creates': 1, 'devices.': 1, 'makes': 1, 'realistic': 1, 'flight': 1, 'simulators,': 1, 'video': 1, 'games,': 1, 'movies,': 1, 'critical': 2, 'forensic': 1, 'investigations.': 1, 'With': 2, 'consensus': 1, 'change': 2, 'things': 3, 'ordinarily': 1, 'mired': 1, 'uncertainty.': 1, 'origin': 2, 'earth,': 1, 'reasonably': 1, "earth's": 2, 'temperature,': 2, 'rate': 1, 'rotation,': 1, 'function': 1, 'allowing': 1, 'extrapolate': 1, 'forward': 1, 'backward': 1, 'so': 3, 'predict': 2, 'future': 3, 'prior': 1, 'events.': 1, 'allows': 1, 'simulations': 1, 'drastically': 1, 'technology.': 3, 'considerable': 1, 'interdisciplinarity,': 1, '(e.g.,': 1, 'econophysics': 1, 'sociophysics).': 1, 'Physicists': 3, 'test': 4, 'methodical': 1, 'compare': 1, 'conclusions': 1, 'drawn': 1, 'observations,': 1, 'logical,': 1, 'unbiased,': 1, 'repeatable': 1, 'way.': 1, 'To': 1, 'end,': 1, 'performed': 1, 'determine': 1, 'invalidity': 1, 'theory.[55]': 1, 'concise': 1, 'relation': 1, 'expresses': 1, 'principle': 1, 'some': 4, 'gravitation.[56]': 1, 'Theoretical': 3, 'Experimental': 4, 'astronaut': 1, 'fall.': 1, 'Lightning': 1, 'Theorists': 2, 'develop': 4, 'models': 2, 'agree': 2, 'existing': 4, 'successfully': 1, 'experimentalists': 2, 'devise': 1, 'perform': 2, 'explore': 2, 'Although': 2, 'separately,': 1, 'strongly': 1, 'upon': 2, 'other.': 1, 'Progress': 1, 'frequently': 1, 'defy': 1, 'theories,': 1, 'prompting': 1, 'intense': 1, 'applicable': 1, 'modelling,': 1, 'generate': 1, 'testable': 2, 'predictions,': 1, 'inspire': 1, '(and': 1, 'equipment).[57]': 1, 'interplay': 1, 'phenomenologists,': 1, 'complex': 3, 'relate': 2, 'theory.[58]': 1, 'historically': 1, 'taken': 1, 'philosophy;': 1, 'electromagnetism': 2, 'way.[f]': 1, 'Beyond': 1, 'universe,': 4, 'hypothetical': 2, 'issues,[g]': 1, 'parallel': 1, 'universes,': 1, 'multiverse,': 1, 'higher': 1, 'dimensions.': 1, 'invoke': 1, 'hopes': 2, 'theories;': 1, 'then': 2, 'consequences': 1, 'making': 1, 'predictions.': 1, 'expands,': 1, 'expanded': 2, 'by,': 1, 'involved': 2, 'design': 3, 'equipment': 1, 'accelerators': 1, 'lasers,': 1, 'whereas': 1, 'industry,': 1, 'resonance': 2, 'imaging': 1, '(MRI)': 1, 'transistors.': 1, 'Feynman': 7, 'explored': 1, 'theorists.[59]': 1, 'modeling': 1, 'quantitative.': 1, 'Here,': 1, 'path': 1, 'modeled': 2, 'calculus': 4, 'behavior:': 1, 'purview': 1, 'covers': 1, 'phenomena,': 1, '(such': 1, 'quarks,': 1, 'neutrinos,': 1, 'electrons)': 1, 'largest': 3, 'superclusters': 1, 'galaxies.': 1, 'Included': 1, 'composing': 1, 'things.': 1, 'Therefore,': 1, 'sometimes': 1, '"fundamental': 1, 'science".[54]': 1, 'occur': 2, 'terms': 4, 'simpler': 1, 'Thus,': 2, 'connect': 2, 'observable': 1, 'humans': 1, 'root': 2, 'causes,': 1, 'causes': 1, 'together.': 1, 'Chinese': 2, 'rocks': 1, '(lodestone': 1, 'magnetite)': 1, 'attracted': 1, 'invisible': 2, 'force.': 1, 'magnetism,': 2, 'rigorously': 2, 'knew': 1, 'amber,': 1, 'rubbed': 1, 'fur': 1, 'cause': 2, 'attraction': 1, 'two.[60]': 1, 'electricity.': 1, '(electricity': 1, 'magnetism).': 1, 'revealed': 1, 'just': 2, 'force—electromagnetism.': 1, 'process': 1, '"unifying"': 1, 'continues': 1, 'weak': 1, 'force': 2, 'electroweak': 1, 'interaction.': 1, 'ultimate': 1, '(theory': 1, 'everything)': 1, 'why': 1, '(see': 2, 'section': 1, 'below': 1, 'information).[61]': 1, 'Contemporary': 1, 'broadly': 1, 'physics;': 3, 'condensed': 7, 'atomic,': 1, 'astrophysics;': 1, 'Some': 1, 'departments': 1, 'support': 1, 'education': 1, 'outreach.[62]': 1, 'Since': 1, 'individual': 2, 'become': 2, 'increasingly': 2, 'specialised,': 1, 'today': 2, 'entire': 1, 'careers.': 1, '"Universalists"': 1, '(1879–1955)': 1, 'Lev': 1, 'Landau': 1, '(1908–1968),': 1, 'worked': 1, 'multiple': 1, 'rare.[h]': 1, 'subfields': 1, 'employ,': 1, 'shown': 2, 'following': 1, 'table.': 1, 'Field': 2, 'Subfields': 1, 'astrophysics,': 4, 'Astroparticle': 1, 'phenomenology': 1, 'electrodynamics,': 2, 'chromodynamics,': 1, 'Electroweak': 1, 'Effective': 1, 'Lattice': 1, 'Gauge': 1, 'Supersymmetry,': 1, 'Grand': 1, 'Unified': 1, 'Theory,': 1, 'Superstring': 1, 'M-theory,': 1, 'AdS/CFT': 1, 'correspondence': 1, '(gravitational,': 1, 'electromagnetic,': 1, 'weak,': 2, 'strong),': 1, 'Elementary': 3, 'particle,': 1, 'Spin,': 2, 'Antimatter,': 1, 'Spontaneous': 1, 'symmetry': 1, 'breaking,': 1, 'Neutrino': 1, 'oscillation,': 1, 'Seesaw': 1, 'mechanism,': 1, 'Brane,': 1, 'String,': 1, 'gravity,': 1, 'everything,': 1, 'Vacuum': 1, 'Atomic': 4, 'Molecular': 2, 'Chemical': 2, 'Photonics': 1, 'information': 4, 'Photon,': 1, 'Atom,': 1, 'Molecule,': 1, 'Diffraction,': 1, 'Electromagnetic': 2, 'Laser,': 1, 'Polarization': 1, '(waves),': 1, 'Spectral': 1, 'line,': 1, 'Casimir': 1, 'Solid-state': 2, 'High-pressure': 1, 'Low-temperature': 1, 'Surface': 1, 'Nanoscale': 1, 'mesoscopic': 1, 'Polymer': 1, 'BCS': 1, "Bloch's": 1, 'theorem,': 1, 'Density': 1, 'functional': 1, 'Fermi': 6, 'gas,': 1, 'liquid': 1, 'Many-body': 1, 'Phases': 1, '(gas,': 1, 'liquid,': 1, 'solid),': 1, 'Bose–Einstein': 3, 'condensate,': 1, 'Electrical': 1, 'conduction,': 1, 'Phonon,': 1, 'Magnetism,': 1, 'Self-organization,': 1, 'Semiconductor,': 1, 'superconductor,': 1, 'superfluidity,': 1, 'Astronomy,': 2, 'Astrometry,': 1, 'Cosmology,': 1, 'Gravitation': 1, 'High-energy': 1, 'Planetary': 1, 'Plasma': 2, 'Space': 4, 'Stellar': 1, 'astrophysics': 2, 'Big': 5, 'Bang,': 1, 'Cosmic': 3, 'inflation,': 2, 'gravitation,': 1, 'Lambda-CDM': 1, 'Magnetohydrodynamics': 1, 'Black': 1, 'hole,': 1, 'background': 2, 'string,': 1, 'Cosmos,': 1, 'Dark': 2, 'Galaxy,': 1, 'Gravity,': 1, 'Gravitational': 2, 'singularity,': 1, 'Planet,': 1, 'System,': 2, 'Star,': 1, 'Supernova,': 1, 'Universe': 1, 'Accelerator': 1, 'Acoustics,': 1, 'Agrophysics,': 1, 'Atmospheric': 1, 'Biophysics,': 1, 'Communication': 1, 'Econophysics,': 1, 'Engineering': 1, 'Fluid': 3, 'dynamics,': 1, 'Geophysics,': 1, 'Laser': 1, 'Materials': 2, 'Medical': 1, 'Nanotechnology,': 1, 'Optoelectronics,': 1, 'Photonics,': 1, 'Photovoltaics,': 1, 'oceanography,': 1, 'computation,': 1, 'devices,': 1, 'electronics,': 1, 'Vehicle': 1, 'simulated': 1, 'CMS': 1, 'detector': 1, 'Large': 3, 'Hadron': 3, 'Collider,': 1, 'featuring': 1, 'appearance': 1, 'boson.': 1, 'constituents': 2, 'them.[63]': 1, 'addition,': 1, 'accelerators,[64]': 1, 'detectors,[65]': 1, 'computer': 2, 'programs[66]': 1, '"high-energy': 1, 'physics"': 1, 'naturally': 1, 'collisions': 1, 'particles.[67]': 1, 'Currently,': 1, 'described': 3, 'Model.[68]': 1, 'accounts': 1, '12': 2, '(quarks': 1, 'leptons)': 1, 'interact': 1, 'via': 1, 'strong,': 1, 'electromagnetic': 2, 'forces.[68]': 1, 'Dynamics': 1, 'exchanging': 1, 'gauge': 1, 'bosons': 1, '(gluons,': 1, 'W': 1, 'Z': 1, 'bosons,': 1, 'photons,': 1, 'respectively).[69]': 1, 'predicts': 1, 'boson.[68]': 1, 'July': 8, '2012': 3, 'CERN,': 2, 'laboratory': 1, 'announced': 1, 'detection': 1, 'boson,[70]': 1, 'integral': 1, 'mechanism.': 1, 'nuclei.': 1, 'commonly': 1, 'power': 1, 'generation': 1, 'weapons': 1, 'technology,': 1, 'medicine': 1, 'imaging,': 1, 'ion': 1, 'implantation': 1, 'materials': 2, 'engineering,': 1, 'radiocarbon': 1, 'archaeology.': 1, '(AMO)': 1, 'matter–matter': 1, 'light–matter': 1, 'molecules.': 1, 'grouped': 1, 'interrelationships,': 1, 'similarity': 1, 'used,': 1, 'commonality': 1, 'relevant': 1, 'All': 1, 'classical,': 1, 'semi-classical': 1, 'treatments;': 1, 'treat': 1, 'microscopic': 2, '(in': 1, 'contrast': 1, 'macroscopic': 3, 'view).': 1, 'shells': 1, 'atoms.': 1, 'focuses': 2, 'activities': 2, 'control,': 1, 'cooling': 1, 'trapping': 1, 'ions,[71][72][73]': 1, 'low-temperature': 1, 'collision': 1, 'effects': 1, 'correlation': 1, 'dynamics.': 1, 'nucleus': 1, 'hyperfine': 1, 'splitting),': 1, 'intra-nuclear': 1, 'fission': 1, 'fusion': 1, 'multi-atomic': 1, 'structures': 1, 'external': 1, 'Optical': 2, 'tends': 1, 'realm.': 1, 'Velocity-distribution': 1, 'data': 2, 'gas': 1, 'rubidium': 1, 'atoms,': 1, 'confirming': 1, 'phase': 2, 'condensate': 1, 'matter.[74][75]': 1, '"condensed"': 1, 'phases': 4, 'whenever': 1, 'number': 2, 'system': 1, 'strong.[76]': 1, 'familiar': 1, 'solids': 1, 'liquids,': 1, 'arise': 1, 'bonding': 1, 'atoms.[77]': 1, 'More': 1, 'exotic': 1, 'superfluid[78]': 1, 'condensate[79]': 1, 'low': 1, 'superconducting': 1, 'exhibited': 1, 'conduction': 1, 'electrons': 1, 'materials,[80]': 1, 'ferromagnetic': 1, 'antiferromagnetic': 1, 'spins': 1, 'lattices.[81]': 1, 'contemporary': 1, 'Historically,': 1, 'grew': 1, 'out': 1, 'subfields.[82]': 1, 'apparently': 1, 'coined': 1, 'Philip': 1, 'Anderson': 1, 'renamed': 2, 'group—previously': 1, 'theory—in': 1, '1967.[83]': 1, '1978,': 1, 'Division': 2, 'Solid': 1, 'State': 2, 'American': 10, 'Society': 5, 'Matter': 6, 'Physics.[82]': 1, 'overlap': 1, 'nanotechnology': 1, 'engineering.[76]': 1, 'cosmology': 2, 'deepest': 1, 'visible-light': 1, 'image': 1, 'Hubble': 2, 'Ultra-Deep': 1, 'stellar': 2, 'structure,': 1, 'evolution,': 1, 'Because': 1, 'broad': 1, 'subject,': 1, 'astrophysicists': 1, 'typically': 1, 'apply': 2, 'physics.[84]': 1, 'Karl': 1, 'Jansky': 1, '1931': 1, 'radio': 2, 'signals': 1, 'emitted': 1, 'initiated': 1, 'astronomy.': 2, 'Most': 1, 'recently,': 1, 'frontiers': 1, 'exploration.': 1, 'Perturbations': 1, 'interference': 1, 'atmosphere': 2, 'make': 1, 'space-based': 1, 'infrared,': 1, 'ultraviolet,': 1, 'gamma-ray,': 1, 'X-ray': 1, 'formation': 3, 'evolution': 2, 'plays': 1, 'cosmological': 2, "Hubble's": 1, 'expanding,': 1, 'diagram,': 1, 'prompted': 1, 'rival': 1, 'steady': 1, 'state': 1, 'Bang.': 1, 'Bang': 3, 'success': 1, 'nucleosynthesis': 1, 'cosmic': 2, 'microwave': 1, '1964.': 1, 'rests': 1, 'pillars:': 1, 'principle.': 1, 'Cosmologists': 1, 'recently': 1, 'established': 1, 'ΛCDM': 1, 'dark': 7, 'matter.': 1, 'Numerous': 1, 'possibilities': 1, 'discoveries': 1, 'anticipated': 1, 'emerge': 1, 'Gamma-ray': 2, 'Telescope': 1, 'upcoming': 1, 'decade': 1, 'vastly': 1, 'revise': 1, 'clarify': 1, 'universe.[85][86]': 1, 'potential': 1, 'tremendous': 1, 'next': 1, 'years.[87]': 1, 'evidence': 2, 'composed': 1, 'weakly': 1, 'interacting': 1, 'particles,': 1, 'complementing': 1, 'Collider': 2, 'underground': 1, 'detectors.': 1, 'IBEX': 1, 'already': 2, 'yielding': 1, 'astrophysical': 1, 'discoveries:': 1, '"No': 1, 'knows': 1, 'creating': 1, 'ENA': 1, '(energetic': 1, 'neutral': 1, 'atoms)': 1, 'ribbon"': 1, 'termination': 1, 'shock': 1, 'solar': 3, 'wind,': 1, '"but': 1, 'everyone': 1, 'agrees': 1, 'textbook': 1, 'heliosphere—in': 1, "System's": 1, 'enveloping': 1, 'pocket': 1, 'filled': 1, "wind's": 1, 'charged': 1, 'plowing': 1, 'onrushing': 1, "'galactic": 1, "wind'": 1, 'interstellar': 1, 'medium': 1, 'shape': 2, 'comet—is': 1, 'wrong."[88]': 1, 'List': 3, 'unsolved': 3, 'diagram': 1, 'signed': 1, 'R.': 4, 'P.': 3, 'Feynman.': 1, 'typical': 1, 'physics:': 1, 'magnet': 1, 'levitating': 1, 'above': 2, 'superconductor': 1, 'demonstrates': 1, 'Meissner': 1, 'effect.': 1, 'continually': 1, 'progressing': 1, 'fronts.': 1, 'high-temperature': 1, 'superconductivity.[89]': 1, 'aiming': 1, 'fabricate': 1, 'workable': 1, 'spintronics': 1, 'computers.[76][90]': 1, 'pieces': 1, 'begun': 1, 'appear.': 1, 'Foremost': 1, 'among': 1, 'indications': 1, 'neutrinos': 2, 'non-zero': 1, 'mass.': 1, 'solved': 2, 'long-standing': 1, 'neutrino': 1, 'problem,': 1, 'remains': 1, 'boson,': 1, 'prove': 1, 'disprove': 1, 'extends': 1, 'mysteries': 1, 'currently': 1, 'ongoing.[91]': 1, 'progress': 1, 'high-energy,': 1, 'quantum,': 1, 'astronomical': 1, 'involving': 1, 'complexity,[92]': 1, 'chaos,[93]': 1, 'turbulence[94]': 1, 'poorly': 1, 'understood.': 1, 'Complex': 2, 'seem': 2, 'clever': 1, 'unsolved;': 1, 'sandpiles,': 1, 'nodes': 1, 'trickling': 1, 'water,': 1, 'water': 1, 'droplets,': 1, 'surface': 1, 'tension': 1, 'catastrophes,': 1, 'self-sorting': 1, 'shaken': 1, 'heterogeneous': 1, 'collections.[i][95]': 1, 'received': 1, 'growing': 1, 'attention': 1, '1970s': 1, 'reasons,': 1, 'availability': 1, 'enabled': 1, 'ways.': 1, 'exemplified': 1, 'turbulence': 1, 'aerodynamics': 1, 'pattern': 1, 'biological': 1, 'systems.': 1, '1932': 1, 'Annual': 2, 'Review': 4, 'Mechanics,': 1, 'Horace': 1, 'Lamb': 1, 'said:[96]': 1, 'I': 8, 'am': 2, 'old': 1, 'man': 1, 'now,': 1, 'die': 1, 'go': 1, 'heaven': 1, 'matters': 1, 'hope': 1, 'enlightenment.': 1, 'One': 1, 'turbulent': 2, 'fluids.': 1, 'former': 1, 'optimistic.': 1, 'publications': 1, 'Lists': 1, 'Relationship': 1, 'Neurophysics': 1, 'Psychophysics': 1, 'Science': 5, 'tourism': 1, 'At': 1, 'Lectures': 2, 'Richard': 2, 'offers': 1, 'hypothesis': 1, 'prolific': 1, 'concept.[1]': 1, '"universe"': 2, 'defined': 1, 'everything': 1, 'physically': 1, 'exists:': 1, 'entirety': 1, 'momentum,': 1, 'constants': 1, 'govern': 1, 'slightly': 1, 'contextual': 1, 'senses,': 1, 'denoting': 1, 'cosmos': 1, 'Francis': 1, "Bacon's": 1, '1620': 1, 'Novum': 1, 'Organum': 1, 'method.[7]': 1, 'Calculus': 1, 'independently': 1, 'around': 5, 'Gottfried': 1, 'Wilhelm': 1, 'Leibniz;': 1, 'Leibniz': 1, 'publish': 1, 'notation': 1, 'problems.': 1, 'Leibniz–Newton': 1, 'controversy': 1, 'Noll': 1, 'notes': 1, 'universities': 1, 'title.[34]': 1, 'See,': 1, 'Kant': 1, 'Ritter': 1, 'Ørsted.': 1, 'denoted': 1, 'time.': 1, 'nineteenth-century': 1, 'denigrated': 1, 'some,': 1, 'Ernst': 1, "Mach's": 1, 'critique': 1, 'Ludwig': 1, "Boltzmann's": 1, 'end': 1, 'World': 5, 'War': 1, 'deemed': 1, 'hypothetical.': 1, 'Yet,': 1, 'universalism': 1, 'encouraged': 1, 'culture': 1, 'Wide': 1, 'Web,': 1, 'innovated': 1, 'Tim': 1, 'Berners-Lee,': 1, 'service': 1, 'infrastructure': 1, 'was/is': 1, 'worldwide.': 1, 'said': 2, 'arXiv.org': 1, 'Ilya': 1, 'Prigogine,': 1, "'systems": 1, 'far': 3, "equilibrium',": 1, 'others.': 1, 'Feynman,': 4, 'Leighton': 2, '&': 20, 'Sands': 2, '1963,': 2, 'p.': 16, 'I-2': 1, '"If,': 1, 'cataclysm,': 1, '[]': 1, 'destroyed': 1, '[save]': 1, 'sentence': 1, '[...]': 2, 'contain': 1, 'fewest': 1, 'words?': 1, 'believe': 1, 'little': 2, 'move': 1, 'perpetual': 1, 'motion,': 1, 'attracting': 1, 'distance': 1, 'apart,': 1, 'repelling': 1, 'squeezed': 1, '..."': 1, 'Maxwell': 1, '1878,': 1, '"Physical': 1, 'department': 1, 'relates': 1, 'nature,': 1, 'or,': 1, 'words,': 1, 'regular': 1, 'succession': 1, 'events."': 1, 'Young': 2, 'Freedman': 2, '2014,': 2, '"Physics': 3, 'chemists': 1, 'molecules,': 1, 'paleontologists': 1, 'try': 2, 'reconstruct': 1, 'dinosaurs': 1, 'walked,': 1, 'climatologists': 1, 'oceans.': 1, 'No': 1, 'engineer': 1, 'flat-screen': 1, 'TV,': 1, 'interplanetary': 1, 'spacecraft,': 1, 'mousetrap': 1, '(...)': 1, 'You': 2, 'towering': 1, 'achievement': 1, 'intellect': 1, 'quest': 1, 'ourselves."': 1, 'science.': 1, 'observe': 2, 'patterns': 1, 'phenomena."': 1, 'Holzner': 1, '2006,': 2, 'your': 2, 'you."': 1, 'Krupp': 1, '2003': 1, 'Cajori': 1, '1917,': 1, 'pp.': 10, '48–49': 1, '"physics".': 1, 'Online': 5, 'Etymology': 2, 'Dictionary.': 2, 'Archived': 32, '24': 4, 'December': 3, '2016.': 15, 'Retrieved': 28, 'November': 4, '"physic".': 1, 'φύσις,': 1, 'φυσική,': 1, 'ἐπιστήμη.': 1, 'Liddell,': 1, 'Henry': 1, 'George;': 1, 'Scott,': 1, 'Robert;': 1, 'Greek–English': 1, 'Lexicon': 1, 'Perseus': 1, 'Project': 1, 'Aaboe': 1, '1991': 1, 'Clagett': 1, '1995': 2, 'Thurston': 1, '1994': 1, 'Singer': 1, '2008,': 1, '35': 1, 'Lloyd': 1, '1970,': 1, '108–109': 1, 'Gill,': 1, 'N.S.': 1, '"Atomism': 1, 'Pre-Socratic': 1, 'Atomism".': 1, 'About': 2, 'Education.': 2, '2014.': 18, 'April': 16, 'Lindberg': 2, '1992,': 2, '363.': 1, 'Smith': 1, '2001,': 1, '[6.86],': 1, '379;': 1, '[3.80],': 1, '453.': 1, '"John': 3, 'Commentary': 1, 'Physics".': 6, '11': 1, 'January': 5, '15': 2, '2018.': 3, '(1638).': 1, 'Two': 1, 'Sciences.': 1, 'conclusive': 1, 'Aristotle’s': 1, 'demonstration': 1, 'we': 5, 'may,': 1, 'my': 1, 'opinion,': 1, 'deny': 1, 'assumptions.': 1, 'first,': 1, 'greatly': 1, 'doubt': 1, 'Aristotle': 1, 'ever': 2, 'whether': 1, 'true': 1, 'stones,': 1, 'fall,': 1, 'instant,': 1, 'of,': 1, '100': 1, 'cubits,': 1, 'differ': 1, 'heavier': 1, 'reached': 1, 'ground,': 1, 'fallen': 1, 'cubits.': 2, 'Simp.': 1, '-': 2, 'indicate': 1, 'tried': 1, 'experiment,': 1, 'says:': 1, 'We': 1, 'heavier;': 1, 'shows': 1, 'experiment.': 1, 'Sagr.': 1, 'Simplicio,': 1, 'assure[107]': 1, 'cannon': 1, 'ball': 2, 'hundred': 1, 'pounds,': 1, 'more,': 1, 'reach': 1, 'ground': 1, 'span': 1, 'ahead': 1, 'musket': 1, 'half': 1, 'pound,': 1, 'dropped': 1, '200': 1, '162.': 1, 'Philoponus".': 1, 'Stanford': 4, 'Encyclopedia': 3, 'Philosophy.': 2, 'Metaphysics': 2, 'Lab,': 2, 'University.': 3, 'Buridan".': 1, 'Howard': 1, 'Rogers': 1, '1995,': 2, '6–7': 1, 'Ben-Chaim': 1, '2004': 2, 'Guicciardini': 1, '1999': 3, 'Allen': 1, '1997': 2, '"The': 3, 'Revolution".': 1, 'Schoolscience.org,': 1, 'Institute': 6, 'Physics.': 14, "O'Connor": 2, 'Robertson': 2, '1996a': 1, '1996b': 1, 'Model".': 1, 'DONUT.': 1, 'Fermilab.': 1, '29': 4, '2001.': 1, 'Cho': 1, 'Womersley,': 1, 'J.': 5, '(February': 2, '2005).': 1, '"Beyond': 1, 'Model"': 1, '(PDF).': 4, 'Symmetry.': 1, 'Vol.': 5, '2,': 1, 'no.': 1, '1.': 2, '22–25.': 1, '(PDF)': 4, 'September': 5, '2015.': 4, 'Noll,': 1, 'Walter': 1, '(23': 1, '2006).': 1, '"On': 1, 'Past': 1, 'Future': 4, 'Philosophy"': 1, 'Journal': 3, 'Elasticity.': 1, '84': 1, '(1):': 2, '1–11.': 1, 'doi:10.1007/s10659-006-9068-y.': 1, 'S2CID': 5, '121957320.': 1, '18': 7, 'Rosenberg': 1, 'Chapter': 4, 'Godfrey-Smith': 2, '2003,': 4, '14:': 1, '"Bayesianism': 1, 'Theories': 1, 'Evidence"': 1, '15:': 1, '"Empiricism,': 1, 'Naturalism,': 1, 'Realism?"': 1, 'Laplace': 1, '1951': 1, '1983': 1, '1996,': 1, '"I': 1, 'think': 1, 'heart': 1, 'answer': 1, 'himself."': 1, 'et': 2, 'al.': 2, '"acoustics".': 1, 'Encyclopædia': 1, 'Britannica.': 1, '2013.': 3, '14': 4, '"Bioacoustics': 1, 'International': 1, 'Animal': 1, 'Sound': 1, 'Recording".': 1, 'Taylor': 2, 'Francis.': 1, '2012.': 12, '31': 4, '"Acoustics': 1, '(A': 1, 'Career': 1, 'Acoustics?)".': 1, 'Acoustical': 1, 'America.': 1, '21': 5, 'May': 2, 'Tipler': 2, 'Llewellyn': 2, '269,': 1, '477,': 1, '561': 1, '1–4,': 1, '115,': 1, '185–187': 1, 'Dijksterhuis': 1, '1986': 1, 'Mastin': 1, '2010': 3, '"Although': 1, 'remembered': 1, 'philosopher,': 1, 'Plato': 1, "Greece's": 1, 'patrons': 1, 'Inspired': 1, 'Pythagoras,': 1, 'founded': 1, 'Academy': 2, 'Athens': 1, '387': 1, 'BC,': 1, 'where': 1, 'stressed': 1, 'reality.': 1, 'convinced': 1, 'geometry': 2, 'key': 1, 'unlocking': 1, 'secrets': 1, 'universe.': 1, 'sign': 1, 'entrance': 1, 'read:': 1, "'Let": 1, 'no-one': 1, 'ignorant': 1, 'enter': 1, 'here.\'"': 1, 'Toraldo': 2, 'Di': 2, 'Francia': 1, '1976,': 1, "'Philosophy": 1, 'lies': 1, 'eyes.': 1, 'mean': 1, 'cannot': 1, 'learn': 1, 'grasp': 1, 'symbols': 2, 'written.': 1, 'language,': 1, 'triangles,': 1, 'circles,': 1, 'geometrical': 1, 'figures,': 1, 'humanly': 1, 'impossible': 1, 'comprehend': 1, 'wanders': 1, 'vain': 1, "labyrinth.'": 1, '(1623),': 1, 'Assayer"': 1, '"Applications': 1, 'Sciences".': 1, '25': 2, '2000.': 1, '30': 2, '"Journal': 1, 'Mathematical': 2, 'August': 5, 'March': 7, '[Journal': 1, 'Physics]': 1, 'purpose': 1, 'publication': 1, 'papers': 1, '—': 1, 'suitable': 1, '3:': 1, 'Other': 1, 'Sciences";': 1, 'reductionism': 1, 'Ellis,': 1, 'G.;': 1, 'Silk,': 1, '(16': 2, '2014).': 1, '"Scientific': 1, 'method:': 1, 'Defend': 1, 'integrity': 1, 'physics".': 1, 'Nature.': 3, '516': 1, '(7531):': 1, '321–323.': 1, 'Bibcode:2014Natur.516..321E.': 1, 'doi:10.1038/516321a.': 1, 'PMID': 8, '25519115.': 1, 'Honderich': 1, '474–476': 1, '"Has': 1, 'moved': 1, 'too': 1, 'away': 1, 'experiments?': 1, 'Is': 1, 'entering': 1, 'crisis': 1, 'should': 1, 'it?".': 1, 'Perimeter': 1, '"Phenomenology".': 1, '22': 1, 'October': 9, '1965,': 1, '157': 1, '"In': 1, 'fact': 1, 'experimenters': 1, 'character.': 1, '...': 1, 'region': 1, 'know': 2, 'theorist': 1, 'guesses."': 1, 'Stewart,': 1, '(2001).': 2, 'Intermediate': 1, 'Theory.': 1, 'Scientific.': 2, '50.': 1, 'ISBN': 35, '978-981-02-4471-2.': 1, 'Weinberg,': 1, 'S.': 4, '(1993).': 2, 'Dreams': 1, 'Final': 1, 'Theory:': 1, 'Search': 4, 'Laws': 1, 'Hutchinson': 1, 'Radius.': 1, '978-0-09-177395-3.': 1, 'Redish,': 1, 'E.': 4, '"Science': 1, 'Education': 2, 'Homepages".': 1, 'Maryland': 1, 'Group.': 1, '28': 3, '"Division': 1, 'Particles': 1, 'Fields".': 1, 'Society.': 7, 'Halpern': 1, 'Grupen': 1, 'Walsh': 1, '"High': 1, 'Energy': 1, 'Group".': 3, 'Oerter': 1, '2006': 2, 'Gribbin,': 4, 'Gribbin': 2, '1998': 1, '"CERN': 1, 'long-sought': 1, 'boson".': 1, 'CERN.': 1, '"Atomic,': 1, 'Molecular,': 1, 'MIT': 2, 'Department': 2, '27': 1, 'February': 5, '"Korea': 1, 'University,': 2, 'AMO': 2, '"Aarhus': 1, 'Universitet,': 1, 'Heinonen': 1, '2002': 1, 'Girvin,': 1, 'Steven': 1, 'M.;': 3, 'Yang,': 1, 'Kun': 1, '(28': 1, '2019).': 1, 'Cambridge': 6, 'Press.': 16, '978-1-108-57347-4.': 1, 'Cohen': 1, '2008': 1, 'Moore': 1, '2011,': 1, '255–258': 1, 'Leggett': 1, 'Levy': 1, '2001': 1, 'Stajic,': 2, 'Coontz': 1, 'Osborne': 1, '2011': 1, 'Mattis': 1, '"History': 1, '2011.': 3, '"Philip': 1, 'Anderson".': 1, 'Princeton': 2, '"BS': 1, 'Astrophysics".': 1, 'Hawaii': 1, 'Manoa.': 1, '"NASA': 1, 'Q&A': 1, 'GLAST': 2, 'Mission".': 1, 'Nasa:': 1, 'Telescope.': 1, 'NASA.': 2, '2008.': 2, '2009.': 2, 'Nasa': 1, 'Wayback': 2, 'Machine': 1, 'NASA': 1, 'Predict': 1, 'Discoveries': 1, '2009': 2, 'Machine.': 1, '"Dark': 1, 'Matter".': 1, '13': 1, 'Kerr': 1, 'Leggett,': 2, 'A.J.': 2, '(2006).': 6, '"What': 2, 'DO': 1, 'Tc?"': 1, 'Nature': 3, '(3):': 1, '134–136.': 1, 'Bibcode:2006NatPh...2..134L.': 1, 'doi:10.1038/nphys254.': 1, '122055331.': 1, '2010.': 1, 'Wolf,': 1, 'S.A.;': 1, 'Chtchelkanova,': 1, 'A.Y.;': 1, 'Treger,': 1, 'D.M.': 1, '"Spintronics—A': 1, 'retrospective': 1, 'perspective"': 1, 'IBM': 1, 'Development.': 1, '50:': 1, '101–110.': 1, 'doi:10.1147/rd.501.0101.': 1, '41178069.': 1, '2020.': 1, 'Gibney,': 1, '(2015).': 1, '"LHC': 1, '2.0:': 1, 'Universe".': 1, '519': 1, '(7542):': 1, '142–143.': 1, 'Bibcode:2015Natur.519..142G.': 1, 'doi:10.1038/519142a.': 1, '25762263.': 1, 'National': 5, 'Council': 2, 'Committee': 2, 'Technology': 5, 'Naval': 2, 'Forces': 2, '1997,': 1, '161': 1, 'Kellert': 1, '1993,': 1, '32': 1, 'Eames,': 1, 'I.;': 1, 'Flor,': 1, 'J.B.': 1, '(2011).': 2, '"New': 1, 'interfacial': 1, 'processes': 1, 'flows".': 1, 'Philosophical': 7, 'Transactions': 4, 'Royal': 1, 'A.': 6, '369': 1, '(1937):': 1, '702–705.': 1, 'Bibcode:2011RSPTA.369..702E.': 1, 'doi:10.1098/rsta.2010.0332.': 1, '21242127.': 1, "'Turbulence": 1, "physics'": 1, '(2007).': 1, 'happens': 1, 'equilibrium': 1, 'why".': 1, 'Condensed-Matter': 1, 'Physics:': 3, 'us.': 1, '91–110.': 1, 'doi:10.17226/11967.': 1, '978-0-309-10969-7.': 1, 'Jaeger,': 1, 'Heinrich': 1, 'Liu,': 1, 'Andrea': 1, '(2010).': 2, '"Far-From-Equilibrium': 1, 'Overview".': 1, 'arXiv:1009.4874': 1, '[cond-mat.soft].': 1, 'Goldstein': 1, '1969': 1, '(1991).': 1, '"Mesopotamian': 1, 'Mathematics,': 1, 'Astrology".': 1, 'History.': 1, 'III': 1, '(2nd': 1, 'ed.).': 4, '978-0-521-22717-9.': 1, 'Abazov,': 1, 'V.;': 1, '(DØ': 1, 'Collaboration)': 1, '(12': 1, '2007).': 1, '"Direct': 1, 'strange': 1, "'b'": 1, 'baryon': 1, '\\Xi': 1, '_{b}^{-}}\\Xi': 1, '_{b}^{-}".': 1, 'Letters.': 2, '99': 1, '(5):': 3, '052001.': 1, 'arXiv:0706.1690v2.': 1, 'Bibcode:2007PhRvL..99e2001A.': 1, 'doi:10.1103/PhysRevLett.99.052001.': 1, '17930744.': 1, '11568965.': 1, 'Allen,': 1, 'D.': 2, '(10': 2, '1997).': 1, '"Calculus".': 1, 'Texas': 1, 'A&M': 1, 'Ben-Chaim,': 1, 'M.': 3, '(2004).': 2, 'Birth': 1, 'Empirical': 1, 'Science:': 2, 'Boyle,': 1, 'Locke': 1, 'Aldershot:': 1, 'Ashgate': 1, 'Publishing.': 1, '978-0-7546-4091-2.': 1, 'OCLC': 2, '53887772.': 1, 'Cajori,': 1, 'Florian': 1, '(1917).': 1, 'Branches:': 1, 'Including': 1, 'Evolution': 1, 'Laboratories.': 1, 'Macmillan.': 1, 'Cho,': 1, '(13': 1, '2012).': 2, '"Higgs': 1, 'Boson': 1, 'Makes': 1, 'Debut': 1, 'After': 1, 'Decades-Long': 1, 'Search".': 1, 'Science.': 7, '337': 1, '(6091):': 1, '141–143.': 1, 'Bibcode:2012Sci...337..141C.': 1, 'doi:10.1126/science.337.6091.141.': 1, '22798574.': 1, 'Clagett,': 1, '(1995).': 4, '2.': 1, 'Philadelphia:': 2, 'Cohen,': 1, 'M.L.': 1, '(2008).': 2, '"Fifty': 1, 'Years': 1, '101': 1, '25001–25006.': 1, 'Bibcode:2008PhRvL.101y0001C.': 1, 'doi:10.1103/PhysRevLett.101.250001.': 1, '19113681.': 1, 'Dijksterhuis,': 1, 'E.J.': 1, '(1986).': 1, 'mechanization': 1, 'picture:': 1, 'Pythagoras': 1, 'Princeton,': 1, 'Jersey:': 1, '978-0-691-08403-9.': 1, 'R.P.;': 1, 'Leighton,': 1, 'R.B.;': 1, 'Sands,': 1, '(1963).': 1, '978-0-201-02116-5.': 1, 'R.P.': 1, '(1965).': 1, 'Character': 1, 'Law.': 1, '978-0-262-56003-0.': 1, 'Godfrey-Smith,': 1, '(2003).': 3, 'Reality:': 1, 'Introduction': 1, '978-0-226-30063-4.': 1, 'Goldstein,': 1, '(1969).': 1, '"Fluid': 1, 'Mechanics': 1, 'First': 4, 'Half': 1, 'Century".': 1, 'Mechanics.': 2, '1–28.': 1, 'Bibcode:1969AnRFM...1....1G.': 1, 'doi:10.1146/annurev.fl.01.010169.000245.': 1, 'J.R.;': 1, '(1998).': 1, 'Q': 1, 'Quantum:': 1, 'Free': 1, 'Bibcode:1999qqep.book.....G.': 1, '978-0-684-85578-3.': 1, 'Grupen,': 1, 'Klaus': 1, '1999).': 1, '"Instrumentation': 1, 'VIII': 1, 'ICFA': 1, 'School".': 1, 'AIP': 1, 'Proceedings.': 1, '536:': 1, '3–34.': 1, 'arXiv:physics/9906063.': 1, 'Bibcode:2000AIPC..536....3G.': 1, 'doi:10.1063/1.1361756.': 1, '119476972.': 1, 'Guicciardini,': 1, 'N.': 1, '(1999).': 2, 'Reading': 1, 'Principia:': 1, 'Debate': 1, 'Methods': 1, '1687': 1, '1736.': 1, 'York:': 3, '9780521640664.': 1, 'Halpern,': 1, 'Collider:': 1, "World's": 1, 'Smallest': 1, 'Particles.': 1, 'Wiley': 3, 'Sons.': 3, '978-0-470-64391-4.': 1, 'Hawking,': 2, 'S.;': 1, 'Penrose,': 3, '(1996).': 1, 'Time.': 1, '978-0-691-05084-3.': 1, 'Holzner,': 1, 'Dummies.': 1, 'Bibcode:2005pfd..book.....H.': 1, '978-0-470-61841-7.': 1, 'you.': 1, 'Honderich,': 1, 'T.,': 1, 'ed.': 1, 'Oxford': 3, 'Companion': 1, '(1': 2, 'Oxford:': 1, '474–476.': 1, '978-0-19-866132-0.': 1, 'Howard,': 1, 'Ian;': 1, 'Rogers,': 1, 'Brian': 1, 'Binocular': 1, 'Vision': 1, 'Stereopsis.': 1, '978-0-19-508476-4.': 1, 'Kellert,': 1, 'S.H.': 1, 'Wake': 1, 'Chaos:': 1, 'Unpredictable': 1, 'Order': 1, 'Dynamical': 1, 'Systems.': 1, 'Chicago': 2, '978-0-226-42976-2.': 1, 'Kerr,': 1, 'R.A.': 2, '2009).': 1, '"Tying': 1, 'Up': 1, 'Ribbon': 1, 'Charged': 1, 'Particles".': 1, '326': 1, '(5951):': 1, '350–351.': 1, 'doi:10.1126/science.326_350a.': 1, '19833930.': 1, 'Krupp,': 1, 'E.C.': 1, 'Echoes': 1, 'Skies:': 1, 'Lost': 1, 'Civilizations.': 1, 'Dover': 2, 'Publications.': 2, '978-0-486-42882-6.': 1, 'P.S.': 1, '(1951).': 1, 'Essay': 1, 'Probabilities.': 1, 'Translated': 1, '6th': 1, 'French': 1, 'edition': 1, 'Truscott,': 1, 'F.W.': 1, 'Emory,': 1, 'F.L.': 1, '"Superfluidity".': 1, 'Reviews': 1, '71': 1, '(2):': 1, 'S318–S323.': 1, 'Bibcode:1999RvMPS..71..318L.': 1, 'doi:10.1103/RevModPhys.71.S318.': 1, 'Levy,': 1, 'B.G.': 1, '(December': 1, '2001).': 1, '"Cornell,': 1, 'Ketterle,': 1, 'Wieman': 1, 'Share': 1, 'Nobel': 2, 'Prize': 2, 'Bose-Einstein': 1, 'Condensates".': 1, 'Today.': 1, '54': 1, '(12):': 1, '14.': 1, 'Bibcode:2001PhT....54l..14L.': 1, 'doi:10.1063/1.1445529.': 1, 'Lindberg,': 1, 'David': 1, '(1992).': 1, 'Beginnings': 1, 'Lloyd,': 1, 'G.E.R.': 1, '(1970).': 1, 'Aristotle.': 1, 'London;': 1, 'Chatto': 1, 'Windus;': 1, 'W.': 3, 'Norton': 1, 'Company.': 1, '978-0-393-00583-7.': 1, 'Mattis,': 1, 'D.C.': 1, 'Magnetism': 1, 'Made': 1, 'Simple.': 1, '978-981-238-579-6.': 1, 'Maxwell,': 1, 'J.C.': 1, '(1878).': 1, 'Motion.': 1, 'Van': 1, 'Nostrand.': 1, '978-0-486-66895-6.': 1, 'motion.': 1, 'Moore,': 1, 'J.T.': 1, 'Chemistry': 1, 'Dummies': 1, '(2': 1, '978-1-118-00730-3.': 1, 'Council;': 1, '(1997).': 2, 'United': 1, 'States': 1, 'Navy': 1, 'Marine': 1, 'Corps,': 1, '2000–2035': 1, 'Becoming': 1, '21st-Century': 1, 'Force:': 1, 'Volume': 3, '9:': 1, 'Modeling': 1, 'Simulation.': 1, 'Washington,': 1, 'DC:': 1, 'Academies': 1, '978-0-309-05928-2.': 1, "O'Connor,": 2, 'J.J.;': 2, 'Robertson,': 2, 'E.F.': 2, '1996a).': 1, '"Special': 1, 'Relativity".': 1, 'MacTutor': 2, 'archive.': 2, 'St': 2, 'Andrews.': 2, '(May': 1, '1996b).': 1, '"A': 1, 'Mechanics".': 1, 'Oerter,': 1, 'Almost': 1, 'Everything:': 1, 'Unsung': 1, 'Triumph': 1, 'Pi': 1, '978-0-13-236678-6.': 1, 'R.;': 2, 'Shimony,': 1, 'A.;': 1, 'Cartwright,': 1, 'N.;': 1, 'Large,': 1, 'Small': 1, 'Human': 1, 'Mind.': 1, '978-0-521-78572-3.': 1, 'Reality.': 1, '978-0-679-45443-4.': 1, 'Rosenberg,': 1, 'Alex': 1, 'Routledge.': 1, '978-0-415-34317-6.': 1, '(1983).': 1, 'My': 1, 'View': 1, 'World.': 2, 'Ox': 2, 'Bow': 2, '978-0-918024-30-5.': 1, 'Interpretation': 1, '978-1-881987-09-3.': 1, 'Singer,': 1, 'C.': 1, 'Short': 1, 'Century.': 1, 'Streeter': 1, 'Smith,': 3, 'Mark': 3, "Alhacen's": 4, 'Visual': 3, 'Perception:': 3, 'Critical': 3, 'Edition,': 3, 'English': 3, 'Translation': 3, 'Commentary,': 3, 'Three': 3, 'Books': 3, 'De': 1, 'Aspectibus,': 1, 'Latin': 3, 'Version': 3, 'al-Manāẓir,': 1, 'vols.': 1, '91.': 1, '978-0-87169-914-5.': 1, '47168716.': 1, '(2001a).': 1, '"Alhacen\'s': 2, '"De': 2, 'aspectibus",': 2, '"Kitāb': 2, 'al-Manāẓir":': 2, 'One".': 1, '91': 2, '(4):': 1, 'i–clxxxi,': 1, '1–337.': 1, 'doi:10.2307/3657358.': 1, 'JSTOR': 2, '3657358.': 1, '(2001b).': 1, 'Two".': 1, '339–819.': 1, 'doi:10.2307/3657357.': 1, '3657357.': 1, 'Jelena;': 1, 'Coontz,': 1, 'Osborne,': 1, 'I.': 1, '(8': 1, '2011).': 1, '"Happy': 1, '100th,': 1, 'Superconductivity!".': 1, '332': 1, '(6026):': 1, '189.': 1, 'Bibcode:2011Sci...332..189S.': 1, 'doi:10.1126/science.332.6026.189.': 1, '21474747.': 1, 'Taylor,': 1, 'P.L.;': 1, 'Heinonen,': 1, 'O.': 1, '(2002).': 1, 'Approach': 1, '978-0-521-77827-5.': 1, 'Thurston,': 1, 'H.': 2, '(1994).': 1, 'Astronomy.': 1, 'Springer.': 1, 'Tipler,': 1, 'Paul;': 1, 'Llewellyn,': 1, 'Ralph': 1, 'Freeman.': 1, '978-0-7167-4345-3.': 1, 'Francia,': 1, 'G.': 1, '(1976).': 1, 'Investigation': 1, '978-0-521-29925-1.': 1, 'Walsh,': 1, 'K.M.': 1, '"Plotting': 1, 'Computing': 1, 'High-Energy': 1, 'Brookhaven': 1, 'Laboratory.': 1, 'Young,': 1, 'H.D.;': 1, 'Freedman,': 1, '(2014).': 1, 'Sears': 1, "Zemansky's": 1, 'Update': 1, '(13th': 1, 'Pearson': 1, '978-1-292-02063-1.': 1, 'Look': 1, 'Wiktionary,': 1, 'dictionary.': 1, 'Wikibooks': 2, 'topic': 1, 'of:': 1, 'Wikisource': 2, 'topic:': 1, 'PhysicsCentral': 1, 'Web': 2, 'run': 2, 'Physics.org': 1, 'Usenet': 1, 'FAQ': 2, 'compiled': 1, 'sci.physics': 1, 'newsgroups': 1, 'Website': 1, 'Award': 1, 'outstanding': 1, 'contributions': 1, 'encyclopedic': 1, 'dictionary': 1, 'Academic': 1, 'journal': 1, 'magazine': 1, 'Physics/Publications': 1, 'Curlie': 1, 'Directory': 1, 'media': 1, 'Vega': 1, 'Trust': 1, 'videos,': 1, 'HyperPhysics': 1, 'website': 1, 'mind-map': 1, 'Georgia': 1, 'PHYSICS': 1, 'OCW': 1, 'course': 1, 'Massachusetts': 1, 'Authority': 1, 'Edit': 2, 'Wikidata': 2, 'Categories:': 1, 'Navigation': 1, 'menu': 1, 'logged': 1, 'Talk': 1, 'Contributions': 1, 'Create': 1, 'account': 1, 'Log': 1, 'ArticleTalk': 1, 'ReadView': 1, 'sourceView': 1, 'history': 1, 'page': 3, 'events': 1, 'Random': 1, 'article': 1, 'Contact': 1, 'Donate': 1, 'Contribute': 1, 'Help': 1, 'Learn': 1, 'edit': 1, 'Community': 1, 'Recent': 1, 'changes': 2, 'file': 1, 'Tools': 1, 'What': 1, 'here': 1, 'Related': 1, 'Special': 1, 'pages': 1, 'Permanent': 1, 'link': 1, 'Cite': 1, 'item': 1, 'Print/export': 1, 'Download': 1, 'PDF': 1, 'Printable': 1, 'projects': 1, 'Wikimedia': 2, 'Commons': 2, 'Wikiquote': 1, 'Languages': 1, 'العربية': 1, 'Español': 1, 'Hrvatski': 1, 'Italiano': 1, 'Монгол': 1, 'Português': 1, 'Shqip': 1, 'Suomi': 1, 'Українська': 1, '222': 1, 'last': 1, 'edited': 1, '2022,': 1, '10:43': 1, '(UTC).': 1, 'Text': 1, 'available': 1, 'Creative': 1, 'Attribution-ShareAlike': 1, 'License': 1, '3.0;': 1, 'additional': 1, 'apply.': 1, 'site,': 1, 'Terms': 1, 'Use': 1, 'Privacy': 2, 'Policy.': 1, 'Wikipedia®': 1, 'registered': 1, 'trademark': 1, 'Foundation,': 1, 'Inc.,': 1, 'non-profit': 1, 'organization.': 1, 'policyAbout': 1, 'WikipediaDisclaimersContact': 1, 'WikipediaMobile': 1, 'viewDevelopersStatisticsCookie': 1, 'statementWikimedia': 1, 'FoundationPowered': 1, 'MediaWiki': 1}

Wednesday, July 27, 2022

How to break infinite loops?

Sometimes it is useful to use an infinite loop with a break statement to jump out of the loop. A good example would be a primitive version of a game menu. To exit a game menu the user has to type quit.
Example 1 Using the while loop and break statement create a simple main menu of the game.
Solution: This is a very primitive game menu that we will create in this example which consists of 5 different choices and these are 1. New Game, 2. Save Game, 3. Load Game, 4. Options, and 5. Quit. Then the user will have to provide an input i.e. type the choice from the game menu. If the user types "Quit" it will end the while loop using the break command. However, if the user types anything else it will show the game menu again.
while True:
print("""1. New Game\n2. Save Game\n3. Load Game\n4. Quit""")
USER_INPUT = input("Input:>")
if USER_INPUT == "Quit":
break
print("USER_INPUT = {}".format(USER_INPUT))
print("You have chosen to quit the game.")
The output of the previous code is given below.
1. New Game
2. Save Game
3. Load Game
4. Quit
Input:>New Game
USER_INPUT = New Game
1. New Game
2. Save Game
3. Load Game
4. Quit
Input:>Save Game
USER_INPUT = Save Game
1. New Game
2. Save Game
3. Load Game
4. Quit
Input:>Load Game
USER_INPUT = Load Game
1. New Game
2. Save Game
3. Load Game
4. Quit
Input:>Quit
You have chosen to quit the game.
Example 2 Create a game using a while loop where the user has to guess the number that was randomly chosen with Python.
import random
COMPUTER_NUMBER = random.randint(1,100000)
while True:
print("Guess the number that Python randomly chosen: ")
USER_INPUT = int(input("Enter a number:> "))
if USER_INPUT < COMPUTER_NUMBER:
print("The number is higher!")
elif USER_INPUT > COMPUTER_NUMBER:
print("The number is lower!")
if USER_INPUT == COMPUTER_NUMBER:
break
print("Congratulations!!! You have guessed the number!!!")
Output:
Enter a number:> 10000
The number is higher!
Guess the number that Python randomly chosen.
Enter a number:> 100000
The number is lower!
Guess the number that Python randomly chosen.
Enter a number:> 50000
The number is higher!
Guess the number that Python randomly chosen.
Enter a number:> 90000
The number is higher!
Guess the number that Python randomly chosen.
Enter a number:> 95000
The number is higher!
Guess the number that Python randomly chosen.
Enter a number:> 98000
The number is lower!
Guess the number that Python randomly chosen.
Enter a number:> 97500
The number is lower!
Guess the number that Python randomly chosen.
Enter a number:> 97300
The number is lower!
Guess the number that Python randomly chosen.
Enter a number:> 96000
The number is higher!
Guess the number that Python randomly chosen.
Enter a number:> 96500
The number is lower!
Guess the number that Python randomly chosen.
Enter a number:> 96250
The number is lower!
Guess the number that Python randomly chosen.
Enter a number:> 96200
The number is lower!
Guess the number that Python randomly chosen.
Enter a number:> 96100
The number is higher!
Guess the number that Python randomly chosen.
Enter a number:> 96150
The number is lower!
Guess the number that Python randomly chosen.
Enter a number:> 96125
The number is lower!
Guess the number that Python randomly chosen.
Enter a number:> 96115
The number is lower!
Guess the number that Python randomly chosen.
Enter a number:> 96105
The number is higher!
Guess the number that Python randomly chosen.
Enter a number:> 96109
The number is lower!
Guess the number that Python randomly chosen.
Enter a number:> 96107
Congratulations!!! You have guessed the number!!!

What are infinite loops?

The infinite loops are loops without iteration variable. This variable is updated in each iteration and is responsible for controlling the loop execution. Without this variable loop does not know how many times it needs to execute. So it will execute indefinitely.
Example 1 Create a while loop that will in each iteration print the string "This is infinite while loop." until the user brakes the execution.
Solution:
while True:
print("This is infinite while loop.")
Executing the two lines of code will print out the string "This is infinite while loop." indefinitely or until the user brakes the execution.
This is infinite while loop.
This is infinite while loop.
This is infinite while loop.
This is infinite while loop.
This is infinite while loop.
This is infinite while loop.
This is infinite while loop.
This is infinite while loop.
This is infinite while loop.
This is infinite while loop.
Traceback (most recent call last):
File "< stdin >", line 2, in < module >
KeyboardInterrupt
The output is a previously mentioned string and the process would repeat indefinitely. However, we have terminated the execution in CommandPrompt by typing Ctrl+C which terminated execution i.e. "KeyboardInterrupt". In the following example, we will create a simple while loop that will terminate the execution after the condition of the while loop is not valid anymore.
Example 2 Create the while loop that will print every even number between 50 and 25 and after the loop is terminated it will print out "The program is complete."
Solution: The program will start by creating the varialbe x and assining the value 50 to this variable name.
x = 50
Then we are going to create a while loop with condition that the value of variable x must be greater than 25. In the body of the while loop the number will be printed out and then decreased by 2.
while x > 25:
print("x = {}".format(x))
x = x - 2
After the condition of the while loop is false, the string "Thi program is complete" will be printed out.
print("The program is complete.")
The entire code as well as the output is given below.
x = 50
while x > 25:
print("x = {}".format(x))
x = x - 2
print("The program is complete.")
The output is given below.
x = 50
x = 48
x = 46
x = 44
x = 42
x = 40
x = 38
x = 36
x = 34
x = 32
x = 30
x = 28
x = 26
The program is complete.
As you can see in this case in each iteration the value of variable x was decreased by 2 and the execution was terminated when the x value was equal to 24. In the next iteration, the condition of the while loop was False so the execution of the while loop was terminated.

How to update variables in Python?

When developing programs sometimes it is useful to update the old value assigned to a variable with a new value. So when an assignment statement updates a variable the new value of the variable depends on the old variable value. In general, form increasing the value of the existing variable value can be defined as:
variable_name = variable_name + value
In the previous code assigning a new value to the existing varaiable_name value is done by addition of the old variable_name value (the value that is previously assigned to variable variable_name) and the new value. Decreasing the variable value can be done similarly. In general, decreasing the value of the variable with a specific value can be defined as:
variable_name = variable_name - value
In the previous code assigning a new value to the existing variable_name value is done with subtraction of the old variable_name value (the value that is previously assigned to the variable variable_name) and the value.
Example 1Create variable a1 and assign the value of 0 to the variable. Then print the variable and its value. Update the value of variable a1 by 5 and print the new value.
Solution:The variable a1 is defined and value of 0 is assigned to this variable.
a1 = 0
Now the variable a1 with is value as the output using print and format functions.
print("a1 = {}".format(a1))
After running the previous two lines of code the following output is obtained.
a1 = 0
The next step is to increase the variable a1 value by 5. In other words, we have to update the variable value i.e. assign the new value to a variable.
a1 = a1 + 5
Finally, we are going to show the new value of variable a1 as output using the print and format function.
print("a1 = {}".format(a1))
After running the previous two lines of code the following output is obtained.
a1 = 5
The entire input code for this example:
a1 = 0
print("a1 = {}".format(a1))
a1 = 5
print("a1 = {}".format(a1))
After running the entire code the following output is obtained.
a1 = 0
a1 = 5

Example 2 Create variable a2 and assign a value of 50 to this variable. Update variable value by reducing the initial variable value by 25. Print variable value before and after variable assessment/update.
Solution:First step is to create variable a2 and assign the value of 50 to the variable.
a2 = 50
The second step is to show the value of the variable a2 using print and format functions.
print("a2 = {}".format(a2))
After running the previous two lines of code the following output is obtained.
a2 = 50
The third step is to update the variable a2 value by subtracting the original value by 25.
a2 = a2 - 25
The fourth and final step is to show the variable a2 value as output again using print and format functions.
print("a2 = {}".format(a2))
After running the last two lines of code the following output is obtained.
a2 = 25
The entire code used in Example 2 is given below.
a1 = 50
print("a2 = {}".format(a2))
a2 = a2 - 25
print("a2 = {}".format(a2))
After running the entire four lines of code the following output is obtained.
a1 = 50
a2 = 25
It is important to know that if you update a variable that is not initialized the Python will return NameError: name 'variable_name' is not defined.
Example 3 Update value of variable N1 by 5 and variable N2 by -5.
Solution:The variable N1 is increased by the value of 5.
N1 = N1 + 5
Running the previous code Python will generate the following error.
NameError: name 'N1' is not defined
The variable N2 value will be decreased by the value of 5.
N2 = N2 - 5
Running the previous code line will generate the same error as before.
NameError: name 'N2' is not defined

From the previous example (Example 3) it can be concluded that the variable must be initialized before updating its value. In all previous cases, we have updated the initial variable value by large values. Generally, when doing iterations it is usually useful to update a variable by adding 1 and this is called increment. When subtracting the variable value by 1 is called decrement.
Example 4Initialize the variable a3 and a4 and assign to those variables values of 0 and 5. Then print out the initial variable values and increment variable a3 value and decrement variable a4 value. Finally, print out the results.
Solution:First step is to create variables a3 and a4 and assigned to them values 0 and 5, respectively.
a3 = 0
a4 = 5
Using the print and format functions we will show the initial values of variables a3 and a4.
print("a3 = {}".format(a3))
print("a4 = {}".format(a4))
The output of the previous four lines of code is given below.
a3 = 0
a4 = 5
The next step is to increment variable a3 and decrement variable a4 and print out the updated values.
a3 = a3 + 1
a4 = a4 - 1
print("a3 = {}".format(a3))
print("a4 = {}".format(a4))
After running the previous 4 lines of code the following output is generated.
a3 = 1
a4 = 4
As seen from the results the value of variable a3 is incremented or updated/increased from 0 to 1 and the value of the variable a4 is decremented from 5 to 4.

What is in/not in operator?

The in operator is the boolean operator that takes two strings and compares them. The output will be True if the first string appears as a substring in the second string. The output will be False if the string does not appear as a substring in the second string.
Example 1 Check if the string "and" is a subset of a strings "Sand", "Candy", "Land", and "Lent".
Solution: First assign each string to a specific variable name.
string1 = "and"
stringCheck1 = "Sand"
stringCheck2 = "Candy"
stringCheck3 = "Land"
stringCheck4 = "Lent"
Now we will check if string1 is a substring of the string assigned to variable names stringCheck1, stringCheck2, stringCheck3, and stringChekc4.
print(string1 in stringCheck1)
print(string1 in stringCheck2)
print(string1 in stringCheck3)
print(string1 in stringCheck4)
The output of the previous block of code will be True for all cases except the last. In the last case, we want to know if the string "and" is a substring of a string "Lent". Since the "and" is not a substring of the aforementioned string the Python will return False as the result.
True
True
True
False
The in operator works with iterables i.e. lists or strings. This operator is useful in case you want to check if the element is found in the string or list. The result of in operator is True if the element is found in a list or a string. The result of in operator is False if the element is not found in the list.
Example 2 Check if word "phone" is in the list ["Computer", "tablet", "phone"].
Solution Assign the phone to a variable name var1 and list to a variable name list1.
var1 = "phone"
list1 = ["Computer", "tablet", "phone"]
To check if the "phone" is in the list use the "in" operator.
print("var1 in list1 = {}".format(var1 in list1))
Output:
var1 in list1 = True
The statement var1 in list1 is True since the string "phone" is in the list. So, the result True is expected. Now we will apply the if-else statement to check if the "phone" is in the list1. If the "phone" is in the list the output will be "Word 'phone' is found in the list1." On the other hand, if the "phone" is not found in the list1 the program will print the string "Word 'phone' is not found in the list1."
if var1 in list1:
print("Word 'phone' is found in the list1")
else:
print("Word 'phone' is not found in the list1.")
The entire program code is given below.
var1 = "phone"
list1 = ['Computer', 'tablet', 'phone']
if var1 in list1:
print("Word 'phone' is found in the list1")
else:
print("Word 'phone' is not found in the list1.")
The output of the program will always be "World 'phone' is found in the list1." since the word "phone" is actually in the list.
Output:
World 'phone' is found in the list1.
To test the else statement we will create a USER_INPUT variable that will ask the user to type in the string that will be searched in the list1. To do this we will need the input built-in Python function. After the user enters a string using in operator Python will check if the string defined by the user is in the list1.
USER_INPUT = input("Enter a string:> ")
list1 = ['Computer', 'tablet', 'phone']
if USER_INPUT in list1:
print("Word '{}' is found in the list1.".format(USER_INPUT))
else:
print("Word '{}' is not found in the list1.".format(USER_INPUT))
Output_1:
Enter a string:> Smart Watch
Word 'Smart Watch' is not found in the list1.
Output_2:
Enter a string:> tablet
Word 'tablet' is found in the list1.

The "not in" operator.

The "not in" operator is used to check if a string is not in the list or not the substring element of another string. The result of not in operator is True if the string is not part of iterable i.e. list or a substring of another string. The result of not in operator is "False" if the string is part of an iterable i.e. list or a substring of another string.
Example 3 Create a program that will investigate if a string entered by a user is/is not in the list ["Computer", "game console", "smartwatch"] using the not in operator.
Solution: The USER_INPUT variable will contain the string entered by the user. The list will be assigned to a variable name list2
USER_INPUT = input("Enter a string:> ")
list2 = ["Computer", "game console", "smartwatch"]
Now we have to check if the string is or is not in the list2 using the not in operator.
if USER_INPUT not in list2:
print("The {} is not list2 element.".format(USER_INPUT))
else:
print("The {} is list2 element.".format(USER_INPUT))
Output_1:
Enter a string:> GPU
The GPU is not list2 element.
Output_2:
Enter a string:> game console
The game console is list2 element.

Tuesday, July 26, 2022

How to count string characters using loops?

A string of characters can be counted using for or while loop. In the following example, we will demonstrate how to create a program that will count each letter.
Example 1 Create a program that will count all characters in the string defined by the user and show the counted values as the output.
Solution: The first step is to create all lowercase letters followed by a dot, semicolon, and comma
lowerCase = "abcdefghijklmnopqrstuvwxyz.;,"
Then we will create 30 variables that will be counters for each letter.
lowerCase = "abcdefghijklmnopqrstuvwxyz.;,"
#Creating counter variables
COUNT_A = 0; COUNT_B = 0; COUNT_C = 0;
COUNT_D = 0; COUNT_E = 0; COUNT_F = 0;
COUNT_G = 0; COUNT_H = 0; COUNT_I = 0;
COUNT_J = 0; COUNT_K = 0; COUNT_L = 0;
COUNT_M = 0; COUNT_N = 0; COUNT_O = 0;
COUNT_P = 0; COUNT_Q = 0; COUNT_R = 0;
COUNT_S = 0; COUNT_T = 0; COUNT_U = 0;
COUNT_V = 0; COUNT_W = 0; COUNT_X = 0;
COUNT_Y = 0; COUNT_Z = 0; COUNT_DOT = 0;
COUNT_SEMICOL = 0; COUNT_COMMA = 0;
#################################################
# User input string
#################################################
USER_INPUT = input("Enter a string: ").lower()
for letter in USER_INPUT:
if letter == lowerCase[0]:
COUNT_A += 1
elif letter == lowerCase[1]:
COUNT_B += 1
elif letter == lowerCase[2]:
COUNT_C += 1
elif letter == lowerCase[3]:
COUNT_D += 1
elif letter == lowerCase[4]:
COUNT_E += 1
elif letter == lowerCase[5]:
COUNT_F += 1
elif letter == lowerCase[6]:
COUNT_G += 1
elif letter == lowerCase[7]:
COUNT_H += 1
elif letter == lowerCase[8]:
COUNT_I += 1
elif letter == lowerCase[9]:
COUNT_J += 1
elif letter == lowerCase[10]:
COUNT_K += 1
elif letter == lowerCase[11]:
COUNT_L += 1
elif letter == lowerCase[12]:
COUNT_M += 1
elif letter == lowerCase[13]:
COUNT_N += 1
elif letter == lowerCase[14]:
COUNT_O += 1
elif letter == lowerCase[15]:
COUNT_P += 1
elif letter == lowerCase[16]:
COUNT_Q += 1
elif letter == lowerCase[17]:
COUNT_R += 1
elif letter == lowerCase[18]:
COUNT_S += 1
elif letter == lowerCase[19]:
COUNT_T += 1
elif letter == lowerCase[20]:
COUNT_U += 1
elif letter == lowerCase[21]:
COUNT_V += 1
elif letter == lowerCase[22]:
COUNT_W += 1
elif letter == lowerCase[23]:
COUNT_X += 1
elif letter == lowerCase[24]:
COUNT_Y += 1
elif letter == lowerCase[25]:
COUNT_Z += 1
elif letter == lowerCase[26]:
COUNT_DOT += 1
elif letter == lowerCase[27]:
COUNT_SEMICOL += 1
elif letter == lowerCase[28]:
COUNT_COMMA += 1
print("The number of letter '{}' in USER_INPUT are {}".format(lowerCase[0], COUNT_A))
print("The number of letter '{}' in USER_INPUT are {}".format(lowerCase[1], COUNT_B))
print("The number of letter '{}' in USER_INPUT are {}".format(lowerCase[2], COUNT_C))
print("The number of letter '{}' in USER_INPUT are {}".format(lowerCase[3], COUNT_D))
print("The number of letter '{}' in USER_INPUT are {}".format(lowerCase[4], COUNT_E))
print("The number of letter '{}' in USER_INPUT are {}".format(lowerCase[5], COUNT_F))
print("The number of letter '{}' in USER_INPUT are {}".format(lowerCase[6], COUNT_G))
print("The number of letter '{}' in USER_INPUT are {}".format(lowerCase[7], COUNT_H))
print("The number of letter '{}' in USER_INPUT are {}".format(lowerCase[8], COUNT_I))
print("The number of letter '{}' in USER_INPUT are {}".format(lowerCase[9], COUNT_J))
print("The number of letter '{}' in USER_INPUT are {}".format(lowerCase[10], COUNT_K))
print("The number of letter '{}' in USER_INPUT are {}".format(lowerCase[11], COUNT_L))
print("The number of letter '{}' in USER_INPUT are {}".format(lowerCase[12], COUNT_M))
print("The number of letter '{}' in USER_INPUT are {}".format(lowerCase[13], COUNT_N))
print("The number of letter '{}' in USER_INPUT are {}".format(lowerCase[14], COUNT_O))
print("The number of letter '{}' in USER_INPUT are {}".format(lowerCase[15], COUNT_P))
print("The number of letter '{}' in USER_INPUT are {}".format(lowerCase[16], COUNT_Q))
print("The number of letter '{}' in USER_INPUT are {}".format(lowerCase[17], COUNT_R))
print("The number of letter '{}' in USER_INPUT are {}".format(lowerCase[18], COUNT_S))
print("The number of letter '{}' in USER_INPUT are {}".format(lowerCase[19], COUNT_T))
print("The number of letter '{}' in USER_INPUT are {}".format(lowerCase[20], COUNT_U))
print("The number of letter '{}' in USER_INPUT are {}".format(lowerCase[21], COUNT_V))
print("The number of letter '{}' in USER_INPUT are {}".format(lowerCase[22], COUNT_W))
print("The number of letter '{}' in USER_INPUT are {}".format(lowerCase[23], COUNT_X))
print("The number of letter '{}' in USER_INPUT are {}".format(lowerCase[24], COUNT_Y))
print("The number of letter '{}' in USER_INPUT are {}".format(lowerCase[25], COUNT_Z))
print("The number of letter '{}' in USER_INPUT are {}".format(lowerCase[26], COUNT_DOT))
print("The number of letter '{}' in USER_INPUT are {}".format(lowerCase[27], COUNT_SEMICOL))
print("The number of letter '{}' in USER_INPUT are {}".format(lowerCase[28], COUNT_COMMA))
The previous program seems complicated but it is very simple. The program starts by declaring all lowercase characters of the English alphabet including the dot, semicolon, and comma. All these characters together create a string that is assigned to a variable name lowerCase. After this variable, the 29 variables were created and integer 0 is assigned to each variable. The values of these variables will be changed later in for loop each time the Python encounters a specific character of a string entered by the user. In the next command line, the input function is used that asks a user to enter a string. If user enters a string with capital letters these capital letters will be lowered using lower() function and the string will be assigned to the variable named USER_INPUT.
In the for loop each character of a string entered by the user is checked if it is contained in lowerCase variable. If the character of a string defined by user is located in the loweCase variable than the value of the count variable for specific character will be updated by 1. After each character of a string is checked the values of all count variables is shown as output using print function. In the following output, the user has typed the string "This program is very cool." after which the program showed the values of all count variables.
Output:
Enter a string: This program is very cool.
The number of letter 'a' in USER_INPUT are 1
The number of letter 'b' in USER_INPUT are 0
The number of letter 'c' in USER_INPUT are 1
The number of letter 'd' in USER_INPUT are 0
The number of letter 'e' in USER_INPUT are 1
The number of letter 'f' in USER_INPUT are 0
The number of letter 'g' in USER_INPUT are 1
The number of letter 'h' in USER_INPUT are 1
The number of letter 'i' in USER_INPUT are 2
The number of letter 'j' in USER_INPUT are 0
The number of letter 'k' in USER_INPUT are 0
The number of letter 'l' in USER_INPUT are 1
The number of letter 'm' in USER_INPUT are 1
The number of letter 'n' in USER_INPUT are 0
The number of letter 'o' in USER_INPUT are 3
The number of letter 'p' in USER_INPUT are 1
The number of letter 'q' in USER_INPUT are 0
The number of letter 'r' in USER_INPUT are 3
The number of letter 's' in USER_INPUT are 2
The number of letter 't' in USER_INPUT are 1
The number of letter 'u' in USER_INPUT are 0
The number of letter 'v' in USER_INPUT are 1
The number of letter 'w' in USER_INPUT are 0
The number of letter 'x' in USER_INPUT are 0
The number of letter 'y' in USER_INPUT are 1
The number of letter 'z' in USER_INPUT are 0
The number of letter '.' in USER_INPUT are 1
The number of letter ';' in USER_INPUT are 0
The number of letter ',' in USER_INPUT are 0