import random
actions = ["グー", "チョキ", "パー"]
def print_choices(user, pc):
pcs = zip(["PC{:d}".format(i+1) for i in range(len(pc))], pc)
print([("You", user)]+list(pcs))
n_pc = int(input("PCの数:"))
assert n_pc >= 1
while True:
pc_actions = [random.choice(actions) for _ in range(n_pc)]
action = input("じゃんけんぽん!\n> ")
print_choices(action, pc_actions)
act_set = set(pc_actions+[action])
if len(act_set) == 2 and action in actions:
break
else:
print("あいこ")
if (action == "グー" and "チョキ" in act_set) \
or (action == "チョキ" and "パー" in act_set) \
or (action == "パー" and "グー" in act_set):
print("You win!")
else:
print("You lose")
aW1wb3J0IHJhbmRvbQoKYWN0aW9ucyA9IFsi44Kw44O8IiwgIuODgeODp+OCrSIsICLjg5Hjg7wiXQoKZGVmIHByaW50X2Nob2ljZXModXNlciwgcGMpOgogICAgcGNzID0gemlwKFsiUEN7OmR9Ii5mb3JtYXQoaSsxKSBmb3IgaSBpbiByYW5nZShsZW4ocGMpKV0sIHBjKQogICAgcHJpbnQoWygiWW91IiwgdXNlcildK2xpc3QocGNzKSkKCm5fcGMgPSBpbnQoaW5wdXQoIlBD44Gu5pWw77yaIikpCmFzc2VydCBuX3BjID49IDEKCndoaWxlIFRydWU6CiAgICBwY19hY3Rpb25zID0gW3JhbmRvbS5jaG9pY2UoYWN0aW9ucykgZm9yIF8gaW4gcmFuZ2Uobl9wYyldCiAgICBhY3Rpb24gPSBpbnB1dCgi44GY44KD44KT44GR44KT44G944KT77yBXG4+ICIpCiAgICBwcmludF9jaG9pY2VzKGFjdGlvbiwgcGNfYWN0aW9ucykKCiAgICBhY3Rfc2V0ID0gc2V0KHBjX2FjdGlvbnMrW2FjdGlvbl0pCiAgICBpZiBsZW4oYWN0X3NldCkgPT0gMiBhbmQgYWN0aW9uIGluIGFjdGlvbnM6CiAgICAgICAgYnJlYWsKICAgIGVsc2U6CiAgICAgICAgcHJpbnQoIuOBguOBhOOBkyIpCgppZiAoYWN0aW9uID09ICLjgrDjg7wiIGFuZCAi44OB44On44KtIiBpbiBhY3Rfc2V0KSBcCiAgICAgICAgb3IgKGFjdGlvbiA9PSAi44OB44On44KtIiBhbmQgIuODkeODvCIgaW4gYWN0X3NldCkgXAogICAgICAgIG9yIChhY3Rpb24gPT0gIuODkeODvCIgYW5kICLjgrDjg7wiIGluIGFjdF9zZXQpOgogICAgcHJpbnQoIllvdSB3aW4hIikKZWxzZToKICAgIHByaW50KCJZb3UgbG9zZSIp
PCの数:じゃんけんぽん!
> [('You', 'グー'), ('PC1', 'チョキ'), ('PC2', 'パー'), ('PC3', 'パー')]
あいこ
じゃんけんぽん!
> [('You', 'チョキ'), ('PC1', 'チョキ'), ('PC2', 'グー'), ('PC3', 'グー')]
You lose