Hướng dẫn rock paper scissors python best out of 3 - oẳn tù tì con trăn hay nhất trong số 3

Tôi chưa quen với Python và hiện đang có kỹ năng. Tôi đang cố gắng xây dựng một phiên bản tốt nhất trong số 3 phiên bản của Rock Paper kéo - đây là nỗ lực của tôi.

Tại sao cái này không hoạt động?

Tôi đang cố gắng tạo 2 biến mới người chơi_win và máy tính_wins để đếm số lượng chiến thắng và sau đó sử dụng nó để xác định xem tôi có thắng tốt nhất trong số 3 trò chơi hay không, không chắc là cách tôi sử dụng "hoặc" In Vòng lặp trong khi cũng chính xác - tôi không nghĩ rằng việc tăng biến đang được chọn.

Trò chơi giấy kéo Rock (tốt nhất trong số 2 phiên bản)

from random import randint

t = ["Rock", "Paper", "Scissor"]

print("Hi, what is your name?")
player_wins = 0
computer_wins = 0
games_played = 0
myName = input()

print(f"Hi {myName}, Lets play a game of Rock, Paper, Scissors - actually make that a best out of 3! Lets do this")

computer = t[randint(0,2)]

player = False

while (computer_wins < 3 or player_wins < 3):
    player_wins = 0
    computer_wins = 0
    games_played = 0

    player = input()

    games_played = games_played + 1

    if player == computer:
        print("thats a tie! again!")
    elif player == "Rock":
        if computer == "Paper":
            print("You lose!", computer, "covers", f"{myName}")
            computer_wins = computer_wins + 1
        else:
            print("You win!", f"{myName}", "smashes", computer)
            player_wins = player_wins + 1
    elif player == "Paper":
        if computer == "Scissor":
            print("You lose", computer, "slices", f"{myName}")
            computer_wins = computer_wins + 1
        else:
            print("You win", f"{myName}", "cover", computer)
            player_wins = player_wins + 1
    elif player == "Scissor":
        if computer == "Rock":
            print("You lose!", computer, "smashes", f"{myName}")
            computer_wins = computer_wins + 1
        else:
            print("You win!", f"{myName}", "slices", computer)
            player_wins = player_wins + 1
    else:
        print(f"Thats not a valid play {myName}! Check your spelling!")

    print(games_played)

    player = False
    computer = t[randint(0,2)]

    print(player_wins)
    print(computer_wins)
    print(games_played)
    if player_wins == 2:
        print(f"Well done {myName}, you won!")
    else:
        print(f"Unlucky {myName}, you lost!")

Xếp hạng chủ đề:

  • 0 Bầu chọn - trung bình 0
  • 1
  • 2
  • 3
  • 4
  • 5

Cố gắng thực hiện tốt nhất 3 logic trong trò chơi kéo giấy đá

Tháng 5-10-2020, 02:53 PM (Bài đăng này đã được sửa đổi lần cuối: Tháng 5-10-2020, 03:31 PM bởi Buran.) (This post was last modified: May-10-2020, 03:31 PM by buran.)

Xin chào

Tôi đã viết một trò chơi kéo giấy đá bây giờ muốn mã hóa logic 'Best of 3'. Ngay bây giờ, nó chơi 3 lần và sau đó thoát ra.

Bất kỳ lời khuyên sẽ được đánh giá cao. Cảm ơn.

mychoice = []
for i in range(3):
  mychoice = input("Please enter your choice of rock, paper or scissors?\n").lower()
  while mychoice not in ["rock","paper","scissors"]:
    print("Please spell correctly.\n")
    mychoice = input("Please enter your choice of rock, paper or scissors?\n").lower()
  list = ["rock","paper","scissors"]
  import random
  compchoice = random.choice(list)
  print("Computer chose" + " - " + compchoice)
  if mychoice == compchoice:
    print("We chose the same things. Let's play again.\n")
    break  
  if mychoice == 'rock' and compchoice == 'scissors':
    Result1 = "You win.\n"
    print(Result1)
  elif mychoice == 'rock' and compchoice == 'paper':
    Result2 = "I win.\n"
    print(Result2)
  if mychoice == 'paper' and compchoice == 'scissors':
    Result2 = "I win.\n"
    print(Result2)
  elif mychoice == 'paper' and compchoice == 'rock':
    Result1 = "You win.\n" 
    print(Result1)
  if mychoice == "Scissors" and compchoice == 'paper':
    Result1 = "You win.\n"
    print(Result1)
  elif mychoice == "Scissors" and compchoice == 'rock':
    Result2 = "I win.\n"
    print(Result2)
    break

Bài viết: 2929

Chủ đề: 55

Tham gia: tháng 11 năm 2019Nov 2019

Danh tiếng: 1 1

Tôi đã không thể chạy mã của bạn nhưng tôi nghĩ rằng những điều sau đây rất nhiều
but i think the following runs a lot neater alrady

import random

mychoice = []
for i in range(3):
    mychoice = input("Please enter your choice of rock, paper or scissors?\n").lower()
while mychoice not in ["rock", "paper", "scissors"]:
    print("Please spell correctly.\n")
mychoice = input("Please enter your choice of rock, paper or scissors?\n").lower()
list = ["rock", "paper", "scissors"]


compchoice = random.choice(list)
print("Computer chose" + " - " + compchoice)
if mychoice == compchoice:
    result = "We chose the same things. Let's play again."
elif mychoice == 'rock' and compchoice == 'scissors':
    Result = "You win."
elif mychoice == 'rock' and compchoice == 'paper':
    Result = "I win."
if mychoice == 'paper' and compchoice == 'scissors':
    Result = "I win."
elif mychoice == 'paper' and compchoice == 'rock':
    Result = "You win."
if mychoice == "Scissors" and compchoice == 'paper':
    Result = "You win."
elif mychoice == "Scissors" and compchoice == 'rock':
    Result = "I win."
print(Result + r"\n")

Tái bút: Vui lòng đặt mã của bạn giữa các thẻ chính xác vào lần sau
please put your code between the correct tags next time

Bài viết: 1.5101,510

Chủ đề: 33

Tham gia: Mar 2020Mar 2020

Danh tiếng: 161 161

Theo dõi số lượng chiến thắng mỗi người chơi có. Thay vì chơi chính xác 3 trò chơi, hãy chơi cho đến khi một trong những người chơi có 2 chiến thắng.

Bài viết: 33

Chủ đề: 11

Tham gia: Tháng 5 năm 2020May 2020

Danh tiếng: 0 0

Tháng 5-10-2020, 04:45 PM (Bài đăng này đã được sửa đổi lần cuối: Tháng 5-10-2020, 04:51 PM của Shahch.) (This post was last modified: May-10-2020, 04:51 PM by ShAhCh.)

Cảm ơn các bạn. Tôi không thể chạy mã của bạn một trong hai Keuninkske. Đã sao chép/dán nó nhưng nó không hoạt động.
I couldn't run your code either keuninkske. Copied/Pasted it but it didn't work.

@bowlofred: Bạn có thể vui lòng giúp tôi hiểu cách tôi thực hiện logic? Cảm ơn.


@bowlofred tôi lưu trữ kết quả trong các biến.

Bài viết: 1.5101,510

Chủ đề: 33

Tham gia: Mar 2020Mar 2020

Danh tiếng: 161 161

Theo dõi số lượng chiến thắng mỗi người chơi có. Thay vì chơi chính xác 3 trò chơi, hãy chơi cho đến khi một trong những người chơi có 2 chiến thắng.

p1_wins = 0
p2_wins = 0
games_played = 0
while max([p1_wins, p2_wins]) < 2:
    # play game here
    # if p1 wins:
        p1_wins += 1
    # if p2 wins:
        p2_wins += 1
    games_played += 1

# now print your end-of-game stuff.  You can show who won and how many games were played.

Bài viết: 33

Chủ đề: 11

Tham gia: Tháng 5 năm 2020May 2020

Danh tiếng: 0 0

Tháng 5-10-2020, 04:45 PM (Bài đăng này đã được sửa đổi lần cuối: Tháng 5-10-2020, 04:51 PM của Shahch.)
Cảm ơn các bạn. Tôi không thể chạy mã của bạn một trong hai Keuninkske. Đã sao chép/dán nó nhưng nó không hoạt động. @bowlofred: Bạn có thể vui lòng giúp tôi hiểu cách tôi thực hiện logic? Cảm ơn. @bowlofred tôi lưu trữ kết quả trong các biến. Cái gì đó như: Có thể các chủ đề liên quan…
& nbsp;Chủ đềTác giả1 496 Trả lời
Last Post: Gribouillis
& nbsp;Lượt xemBài cuối cùng23 2,546 Cách thực hiện giao diện đúng
Last Post: Agat0
& nbsp;Yossiy123Tháng 5-12-2022, 10:31 AM Bài đăng cuối cùng: Gribouillis6 3,209 Kéo giấy đá trong Python với "Thuật toán"
Last Post: codypeltz41
& nbsp;Agat0Mar-01-2022, 03:20 PM Bài cuối cùng: Agat06 2,886 Dự án kéo giấy đá ở Python
Last Post: deanhystad
Hướng dẫn rock paper scissors python best out of 3 - oẳn tù tì con trăn hay nhất trong số 3
AnkitdixitTháng 5-25-2021, 12:29 PM Bài cuối cùng: Codypeltz413 1,382 Vấn đề hạn chế đầu vào người dùng trong trò chơi kéo giấy đá của tôi
Last Post: hamidze
& nbsp;AshergreenMAR-25-2021, 03:54 AM Bài cuối cùng: DeAnystad2 1,322 cách tốt nhất để thực hiện thuật toán
Last Post: DustinKlent
& nbsp;Kéo giấy đá với từ điểnEwgreht2 2,473 Tháng 5-01-2020, 03:19 PM Bài cuối cùng: DeAnystad
Last Post: deanhystad
& nbsp;Tôi không biết làm thế nào để thực hiện logic này357mag3 1,330 Tháng 4 năm 02-2020, 04:35 PM Bài cuối cùng: 357Mag
Last Post: 357mag
& nbsp;Rock, Giấy, Kéo .. Giúp đỡ..Hidden Bugxxunknownxx4 1,810 Tháng 3-19-2020, 02:46 AM Bài đăng cuối cùng: Jefsummers
Last Post: jefsummers
& nbsp;Vấn đề với mã kéo giấy đá cơ bảnBirindersingh3 1,717 Tháng 9-13-2019, 03:28 PM Bài cuối cùng: ICHABOD801
Last Post: ichabod801

2 trên 3 có nghĩa là gì trong kéo giấy đá?

Điều gì xảy ra nếu có một sự ràng buộc trong trường hợp đó?A: Bạn tiếp tục chơi trò chơi cho đến khi ai đó có 2 trên 3 chiến thắng.Chỉ cần ném lại các mối quan hệ: vì họ không dẫn đến việc người chơi giành chiến thắng, họ không tính vào số lượng trò chơi đã chơi.You keep playing games until someone has 2 out of 3 wins. Just re-throw ties: since they don't result in a player gaining a win, they don't count towards the number of games played.

Có phải ba cái kéo giấy tốt nhất trong ba?

Mỗi vòng sơ bộ sẽ bao gồm một cuộc thi đứng đầu "tốt nhất ba" của mỗi thành viên trong nhóm (3 trận đấu với các trận chiến riêng lẻ, tốt nhất ba người mỗi người).Mỗi người chiến thắng cá nhân sẽ ghi được một điểm cho đội của mình.Đội đầu tiên giành được hai điểm thắng trận đấu và tiến tới vòng tiếp theo. (3 head to head individual battles, best of three each). Each individual winner will score one point for his/her team. First team to win two points wins the match and advances to the next round.

Sự lựa chọn tốt nhất trong kéo giấy đá là gì?

Bởi vì kéo là di chuyển ít nhất về mặt thống kê, và vì đá là động tác thường xuyên nhất, giấy là cách tốt nhất để đi.Giấy sẽ đánh bại Rock, đó là động thái phổ biến nhất.Kéo có thể đánh bại giấy, nhưng vì nó thường xuyên bị ném ít hơn, cơ hội thua cuộc ít có khả năng hơn nhiều.paper is the best way to go. Paper will beat rock, which is the most commonly thrown move. Scissors can beat paper, but because it's the least often thrown move the chances of losing are much less likely.