2016-02-17 5 views
-1

Информация: Я работаю над программой для нового веб-сайта, который я разрабатываю, который будет называться «Coinflip». В этой программе я попытался использовать все необходимое для обеспечения того, чтобы победитель был выбран. Это справедливо? Я поступил неправильно? Потому что я не могу сказать, и это помогло бы мне для тех, кто никогда не видел, что программа может сказать мне, где я пошла не так, или если она работает так, как должна. Спасибо за вашу любезную помощь!Работает ли моя программа так, как она должна быть?

Код:

import random 

invinp = True 

def main(): 

    winnerprob = [] 

    invinp = False 
    user1 = input("User 1, Please input your name\n") 
    user2 = input("User 2, Please input your name\n") 

    winnerprob.append(user1) 
    winnerprob.append(user2) 

    random.shuffle(winnerprob) 

    user1 = random.choice(winnerprob) 
    user2 = random.choice(winnerprob) 

    winner = random.randint(0,100) 

    if winner <50: 
     print(user1 + " wins!") 
    elif winner >50: 
     print(user2 + " wins!") 

    print("When you enter your username, User 1 and User 2 are shuffled randomly to ensure that both parties have an equal chance of winning.") 
    print("If unchanged, User 1's position was shuffled to: " + user1) 
    print("If unchanged, User 2's position was shuffled to: " + user2) 
    print("Here are the probabilities:") 
    print("User 1 = 0, 50\nUser 2 = 51, 100") 
    print("The number that was randomly generated was: " + str(winner)) 

while invinp: 
    main() 
+0

Я понимаю, что этот вопрос может возникнуть как нарушение правил, но это неподдельный вопрос, потому что я не вижу, работает ли моя программа так, как должна. –

+2

Как вы планируете служить этому сайту? – user2357112

+1

что делать, если 'победитель == 50'? –

ответ

0

Ваш код в основном хорошо, но это больше работы, чем необходимо. Почти так же, как переворачивание монеты три раза, чтобы убедиться, что это лишний случай. Этого было бы достаточно:

import random 

invinp = True 

def main(): 

    winnerprob = [] 

    invinp = False 
    user1 = input("User 1, Please input your name\n") 
    user2 = input("User 2, Please input your name\n") 

    winner = random.randint(1,100) 

    if winner <=50: 
     print(user1 + " wins!") 
    elif winner >50: 
     print(user2 + " wins!") 

    print("When you enter your username, User 1 and User 2 are shuffled randomly to ensure that both parties have an equal chance of winning.") 
    print("If unchanged, User 1's position was shuffled to: " + user1) 
    print("If unchanged, User 2's position was shuffled to: " + user2) 
    print("Here are the probabilities:") 
    print("User 1 = 0, 50\nUser 2 = 51, 100") 
    print("The number that was randomly generated was: " + str(winner)) 

while invinp: 
    main() 
+0

Хорошо, я думаю, я просто делал больше, чем цель всей программы. Спасибо. Очень ценю это. –

+2

'print (random.choice ([" User1 "," User2 "]) +" выигрывает! ")' –

Смежные вопросы