Answer:
Abstraction refines concepts to their core values, stripping away ideas to the fundamentals of the abstract idea. It leaves the common details of an idea. Abstractions make it easier to understand code because it concentrates on core features/actions and not on the small details.
This is only to be used for studying purposes.
Hope it helps!
Answer:
Here you go, Change it however you'd like :)
Explanation:
import random as r
def play_round(p1, p2):
cards = [1,2,3,4,5,6,7,8,9,10,"J","Q","K","A"]
play1 = r.choice(cards)
play2 = r.choice(cards)
while play1 == play2:
play1 = r.choice(cards)
play2 = r.choice(cards)
if cards.index(play1) > cards.index(play2):
return f"{p1}'s Card: {play1}\n{p2}'s Card: {play2}\nThe Winner is {p1}"
else:
return f"{p1}'s Card: {play1}\n{p2}'s Card: {play2}\nThe Winner is {p2}"
print(play_round("Bob","Joe"))
Multiple inheritance causes Diamond problem which happens when:
Class A is parent of class B and C
Now when class D will be inherited from both Class B and C it will have all the members of class A and B which if same will confuse the compiler to import which one?
C++ solves it by using virtual keyword with them and thus telling the compiler which one to inherit.
Java has introduced the interface concept rather then allowing multiple inheritance.
The answer & explanation for this question is given in the attachment below.