حل تحدى لعبة حجرة ورقة مقص

print ("Welcome to Rock, Paper, Scissors game :")
ans= input ("Press Entre to continue or type (help) for the rules help:\n")
if ans == "":
	print ("")
elif ans.lower() == "help":
	print ("""    ********** RULES ********** 
 1) you choose and the computer chooses
 2) Rock smashes Scissors -> Rock wins
 3) Scissors cut Paper -> Scissors win
 4) Paper covers Rock -> Paper wins""")	
else:
	print ("Sorry, I can't understand you 😭")
	
answer = input ("Enter your choice (rock, paper, scissors):").lower ()
import random 
ran= random.choice (["rock",  "paper",  "scissors" ])	
if answer == "paper":
			print ("you choose :")
			print ("""
    _______
---'   ____)____
          ______)
          _______)
         _______)
---.__________)
""")
elif answer == "rock":
			print ("you choose :")
			print ("""
    _______
---'   ____)
      (_____)
      (_____)
      (____)
---.__(___)
""")
			
elif answer == "scissors":
			
			print ("""
    _______
---'   ____)____
          ______)
       __________)
      (____)
---.__(___)
""")
else :
		    print("sorry, your choice")
		    
if ran == "paper":
			print ("computer choose :")
			print ("""
    _______
---'   ____)____
          ______)
          _______)
         _______)
---.__________)
""")
elif ran == "rock":
			print ("computer choose :")
			print ("""
    _______
---'   ____)
      (_____)
      (_____)
      (____)
---.__(___)
""")
			
elif ran == "scissors":
			print ("computer choose :")	
			print ("""
    _______
---'   ____)____
          ______)
       __________)
      (____)
---.__(___)
""")		    			
else:
	print (" ")
	
if ran == answer :	
			print ("It is draw .\nGood luck next time.")
elif ran == "paper" and answer == "rock" :
			print ("You lose ! \nPaper covers Rock")
elif ran == "paper" and answer == "scissors":
	    	print ("You win . 🎉 \nScissors cut Paper")			
elif ran == "rock" and answer == "paper" :
			print ("You win . 🎉 \nPaper covers Rock .")
elif ran == "rock" and answer == "scissors":
	    	print ("You lose !\nRock smashes Scissors")			
elif ran == "scissors" and answer == "paper" :
	   	 print ("You lose ! \nScissors cut Paper")
elif ran == "scissors" and answer == "rock":
	   	print ("You win . 🎉 \nRock smashes Scissors") 
else :
	  	print (" ")

ده حلى من غير ما اشوف حل الاستاذ
فى ١٠٠ سطر بس :joy:

3 إعجابات

جميل، ما شاء الله :heart:

3 إعجابات

حلك جميل يا صديقي، لكن ستنصدم ان حل الاستاذ مختصر اكثر بكثير هههه، تعرف اني اول مرة ما عرفت اكتب الكود ابدا الا بعد مشاهدة الحل

3 إعجابات

اقل عدد من السطور استطاع اداء نفس نتيجه ال 100 سطر هو 2 سطر طوال جدا:

data = {"rules": print ("    ********** RULES ********** \n 1) you choose and the computer chooses\n 2) Rock smashes Scissors -> Rock wins\n 3) Scissors cut Paper -> Scissors win\n 4) Paper covers Rock -> Paper wins" if input("Welcome to Rock, Paper, Scissors game: \nPress Entre to continue or type (help) for the rules help:\n").lower() == "help" else "") , "answer":input ("Enter your choice (rock, paper, scissors):").lower (), "ran":__import__("random").choice (["rock",  "paper",  "scissors" ]), "paper":("\n    _______\n---'   ____)____\n          ______)\n          _______)\n         _______)\n---.__________)"), "rock":("\n    _______\n---'   ____)\n      (_____)\n      (_____)\n      (____)\n---.__(___)"),"scissors":("\n    _______\n---'   ____)____\n          ______)\n       __________)\n      (____)\n---.__(___)"),"choices":["rock","scissors","paper","rock"]}
print (f"your choice: \n{data[data['answer']]} \n\ncomputer choice: \n{data[data['ran']]}" if data ["answer"] in data ["choices"] else "error "),  print ("It is draw .\nGood luck next time." if data ["ran"] == data["answer"] else (f"You win . 🎉.\n{data['answer']} --> {data['ran']}" if data["choices"][data["choices"]. index(data["answer"])+1]==data["ran"] else f"you lose 😥.\n{data['ran']} --> {data['answer']}"))

هههههه :joy::joy:

رجاءً عدم محاولة قراءة الكود :joy::joy:

3 إعجابات

اانت اختصرت الكود بطريقة رهيبة، لكن ما اتوقع انه هذا افضل حل هههههه

3 إعجابات

طبعا هذا حل سيء فى القراءه والتّعديل ولاكن أوفر في مساحه التخزين :joy::joy:

3 إعجابات

عندي سؤال، هل كثرت عمليات الطباعة تاخذ مساحة كبيرة، ام فقط المتغيرات؟ يعني احاول اقلل على قد ما اقدر كل حاجة ولا المتغيرات بس؟

3 إعجابات

المتغيرات اكثر بكثير (هذا اذا كانت الطباعه تاخذ مساحه اساسا)

3 إعجابات

اه انا كنت بتأكد بس, لاني مرات بختصر جمل البرنت الكثيرة في سطر او في برنت وحدة كبيرة, خوفا انها بتاخذ مساحة وكذا واختصار للكود, بس مدام الوضع كدا اشطا

3 إعجابات

كل ما الاحرف تزيد في الكود يزيد المساحه ولاكن كلمه print مكونه من ٥ احرف فقط لذا فانت توفر مساحه صغيره جدا

إعجابَين (2)

لكن محتويات print ؟////

إعجابَين (2)

اذا كتبت امرين للطباعه بداخل كل منهم كلمات ثم حذفت امر طباعه ودمجت الآخر مع الاول كل ما ستحذفه هو print و ٢ علامه تنصيص ولن تحذف ما هو داخل print الاولى، لذا اعتقد انه لن يختلف كثيرا.

3 إعجابات

تمام شكرا يباشا
/////////

إعجابَين (2)