挑战是用 Python 编写一个石头剪刀布游戏。这是我的代码 -
import random
start = input('Вы запустили игру "Камень, ножницы, бумага". Хотите поиграть? (Вводите + или -): ')
if start == '+':
print('Загрузка...')
print("Загрузка завершена! Начинаем!")
print("3...2...1...")
print('Если захотите закончить вводите "-".')
print('Если захотите узнать счёт вводите "с".')
user_ball = 0
rand_ball = 0
while True:
user = input("Камень, ножницы или бумага? (Вводите к, н или б): ")
list_play = ['к', 'н', 'б']
if user in list_play:
rand = random.choice(list_play)
print(rand)
if rand == 'к' and user == 'н':
rand_ball += 1
if rand == 'к' and user == 'б':
user_ball += 1
if rand == 'н' and user == 'к':
user_ball += 1
if rand == 'н' and user == 'б':
rand_ball += 1
if rand == 'б' and user == 'н':
user_ball += 1
if rand == 'б' and user == 'к':
rand_ball += 1
elif user == 'с':
print('Ваши баллы - ', user_ball, '. Баллы вашего соперника - ', rand_ball, ".")
elif user == '-':
print('Ваши баллы - ', user_ball, '. Баллы вашего соперника - ', rand_ball, ".")
print('Конец игры! Заходите ещё!')
break
else:
print('Вводите к, н или б')
if start == '-':
print('Жаль... :(')
else:
print('Простите, я вас не понял, если хотите играть перезапустите программу и введите "+". Спасибо!')
请告诉我其中是否有错误以及如何更正?有没有其他优化的方法?
提前致谢!!!
我给你一些建议:
if start == '-':,但这是必要elif start == '-':的,因为在游戏结束后它可以工作else。(使用构造
if-elif.. -.. elif-else,不要枚举if,elif 是 Python 的说法,如果前面的条件错误,那么试试这个条件,等等)如果您有兴趣,这里是一个如何删除多个 if 构造的示例
您还可以增加选项。