cuốn sách gpt4 ai đã làm

python - kết thúc vòng lặp while

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 06:40:38 28 4
mua khóa gpt4 Nike

Tôi hiện đang viết mã một trò chơi xúc xắc bằng Python 3.6 và tôi biết khả năng mã hóa của mình hơi kém trong lĩnh vực này, tuy nhiên, tôi thực sự chỉ muốn biết cách bắt đầu vòng lặp while của mình. Mô tả trò chơi như sau...

  • Người chơi con người chơi với máy tính.

  • Người chơi 1 tung xúc xắc cho đến khi thắng, quyết định giữ hoặc tung số 1. Người chơi thứ 2 cũng vậy.

  • Họ lần lượt tung hai viên xúc xắc và trừ khi tung được số 1, tổng số xúc xắc sẽ được cộng lại với nhau.

  • Nếu đổ số 1, bạn sẽ không nhận được thêm điểm và đến lượt người tiếp theo. Nếu tung được hai số 1, bạn sẽ mất tất cả điểm và đến lượt người tiếp theo.

  • Người chơi đầu tiên đạt 100 điểm sẽ thắng.

Trò chơi của tôi chạy tốt cho đến khi người chơi 1 và người chơi 2 đều nhấn "y" để dừng trò chơi. Sau đó, trò chơi sẽ thoát khỏi việc chuyển đổi giữa những người chơi cho đến khi nhấn lại "n". Bạn có biết tại sao không? Tôi được thông báo rằng tôi cần các biến để xác định lượt của ai, nhưng tôi không chắc chắn cách kết hợp chúng vào mã của mình. Bất kỳ trợ giúp sẽ được đánh giá rất cao.

nhập khẩu ngẫu nhiên
chắc chắn chính():

print("Chào mừng đến với Trò chơi Hai con lợn xúc xắc. Bạn là Người chơi 1!")

Người chơi1 = 0
Người chơi2 = 0

while(Player1<100 và Player2<100):

p1dice=random.randrange(1,7)
p1dice2=random.randrange(1,7)
Người chơi1+=p1dice+p1dice2
print("Người chơi 1 xúc xắc 1 =",p1dice)
print("Người chơi 1 xúc xắc 2 =",p1dice2)
print("Tổng số xúc xắc của người chơi 1 =",Player1)
print("Người chơi 1 có muốn giữ không?")
choose1 = input("Nhập y nếu có hoặc n nếu không.")
nếu(chọn1=="n"):
p1dice=random.randrange(1,7)
p1dice2=random.randrange(1,7)
Người chơi1+=p1dice+p1dice2
print("Người chơi 1 xúc xắc 1 =",p1dice)
print("Người chơi 1 xúc xắc 2 =",p1dice2)
print("Tổng số xúc xắc của người chơi 1 =",Player1)
nếu(Player1>=100):
print("Người chơi 1 thắng!")
khác:
print("Người chơi 1 có muốn giữ không?")
choose1 = input("Nhập y nếu có hoặc n nếu không.")
while(select1=="y"):

print("Đến lượt người chơi thứ 2.")
p2dice=random.randrange(1,7)
p2dice2=random.randrange(1,7)
Người chơi2+=p2dice+p2dice2
print("Người chơi 2 xúc xắc 2=",p2dice)
print("Người chơi 2 xúc xắc 2 =",p2dice2)
print("Tổng số xúc xắc của người chơi 2=",Player2)
print("Người chơi 2 có muốn giữ không?")
choose2 = input("Nhập y nếu có hoặc n nếu không.")
while(select2=="n"):
p2dice=random.randrange(1,7)
p2dice2=random.randrange(1,7)
Người chơi2+=p2dice+p2dice2
print("Người chơi 2 xúc xắc 2=",p2dice)
print("Người chơi 2 xúc xắc 2 =",p2dice2)
print("Tổng số xúc xắc của người chơi 2=",Player2)
print("Người chơi 2 có muốn giữ không?")
choose2 = input("Nhập y nếu có hoặc n nếu không.")
while(select2=="y"):
print("Đến lượt người chơi 1.")
p1dice=random.randrange(1,7)
p1dice2=random.randrange(1,7)
Người chơi1+=p1dice+p1dice2
print("Người chơi 1 xúc xắc 2 =",p1dice)
print("Người chơi 1 xúc xắc 2 =",p1dice2)
print("Tổng số xúc xắc của người chơi 1 =",Player1)
print("Người chơi 1 có muốn giữ không?")
choose2 = input("Nhập y nếu có hoặc n nếu không.")

chủ yếu()

câu trả lời hay nhất

Sử dụng từ điển để lưu điểm cho từng tên người chơi, chuyển đổi một từ chứa cuộn xúc xắc hiện tại của người chơi xoay.

Đã triển khai một số logic, chẳng hạn như khi nào nên xoay Để thay đổi từ cái này sang cái khác:

nhập khẩu ngẫu nhiên

điểm def (người chơi):
cho k trong người chơi:
print("{} có {} điểm".format(k,players[k]))

giữ chắc chắn (người chơi):
if input("Có {} muốn giữ không? [y hoặc bất cứ thứ gì]".format(player)).low().strip() == "y":
trả lại "y"
trả lại "n"


chắc chắn chính():

xúc xắc = phạm vi (1,7)
người chơi = {"p1":0, "p2":0}
rẽ = ""
thay đổi_player = "y"

print("Chào mừng đến với Trò chơi Hai con lợn xúc xắc. Bạn là Người chơi 1!")

trong khi tất cả (x < 100 cho x trong Players.values()):
# ban đầu ChangePlayer là
nếu thay đổi_player == "y":
# in cả hai điểm trên trình phát đã thay đổi
điểm(người chơi)
lần lượt = "p1" nếu lần lượt != "p1" khác "p2"

xúc xắc1, xúc xắc2 = ngẫu nhiên.choices(xúc xắc,k=2)
print("{} đã ném {} và {} với tổng số là {}".format(turn,d1,d2,d1+d2))

nếu xúc xắc1 + xúc xắc2 == 2:
người chơi[lượt] = 0
print("Hai 1 - bây giờ bạn đã hoàn thành. Điểm của bạn quay về 0.")
thay đổi_player = "y"
Elif xúc xắc1 == 1 hoặc xúc xắc2 == 1:
print("One 1 - bây giờ bạn đã hoàn thành.")
thay đổi_player = "y"
khác:
# trường hợp duy nhất chúng ta cần thêm giá trị và in điểm mới
người chơi[lượt] += xúc xắc1 + xúc xắc2
print("Điểm của bạn: {}".format(players[turn]))
nếu rẽ == "p1":
thay đổi_player = giữ (lượt)
khác:
Change_player = "n" # máy tính tham lam, không bao giờ dừng

người chiến thắng, điểm = max(players.items(),key=lambda x: x[1])
print("Người chiến thắng là {} với {} điểm.".format(winner,points))


chủ yếu()

Đầu ra:

Chào mừng đến với Trò chơi Hai con lợn xúc xắc Bạn là Người chơi 1!
p1 có 0 điểm
p2 có 0 điểm
p1 ném 5 và 1 với tổng số là 6
Một 1 - bây giờ bạn đã hoàn thành.
p1 có 0 điểm
p2 có 0 điểm
p2 ném 3 và 6 với tổng số là 9
Điểm của bạn: 9
p2 ném 6 và 2 với tổng số là 8
Điểm của bạn: 17
p2 ném 4 và 1 tổng cộng là 5
Một 1 - bây giờ bạn đã hoàn thành.
p1 có 0 điểm
p2 có 17 điểm
p1 ném 4 và 5 với tổng số là 9
Điểm của bạn: 9
P1 có muốn giữ [y hay gì không?
p1 ném 2 và 6 với tổng số là 8
Điểm của bạn: 17
P1 có muốn giữ [y hay gì không?
p1 ném 4 và 6 với tổng số là 10
Điểm của bạn: 27

[đoạn trích]

Một 1 - bây giờ bạn đã hoàn thành.
p1 có 91 điểm
p2 có 51 điểm
p1 ném 6 và 4 với tổng số là 10
Điểm của bạn: 101
P1 có muốn giữ [y hay gì không?
Người chiến thắng là p1 với 101 điểm.

Về vòng lặp python - kết thúc trong khi, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/52746653/

28 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress