#python
#python
Вопрос:
Здравствуйте, у меня проблема в моем коде. Я хочу проверить значение ran_dice в методе main, но я не знаю, как я могу это сделать. Например, я написал ran_dice(2), он возвращает 2 случайных целых числа, и я хочу проверить, равны эти два целых числа или нет. Могу ли я сделать в основном методе? Как ?
Комментарии:
1. Вы создаете ад для программистов, возвращая такие разные типы из своей функции. В одной ветке вы возвращаете целое число, в другой — кортеж. Вам придется иметь дело с этим несоответствием каждый раз, когда вы используете функцию. Использование
number1, number2 = ran_dice(parameter)
будет работать только в том случае, если параметр равен 2.2. Не могли бы вы проверить свой вопрос? Мне не ясно, с какой проблемой вы столкнулись. Вы можете
print(ran_dice(2))
или даже сохранить его в переменной для работы с ним.3. Я отредактировал, теперь это понятно?
Ответ №1:
Печать ran_dice(2)
должна сделать свое дело.
Редактировать в соответствии с комментарием:
a,b=ran_dice(2)
if a==b:
# code to stop
Однако, как упоминалось в другом комментарии ran_dice(s)
, функция немного опасна, поскольку количество возвращаемых ею данных варьируется. Хорошей практикой является то, чтобы программа возвращала постоянное количество вещей. Вы можете возвращать значения в списке, и размер списка может меняться, но, по крайней мере, вы всегда возвращаете один список.
Комментарии:
1. Тем не менее, я хочу сравнить их, например, a и b равны, я хочу остановиться
Ответ №2:
Вот пример, вы могли бы вернуть значения кости в списке. Таким образом, вы можете настроить возвращаемое количество кубиков по своему усмотрению и сравнить результат.
import random
def ran_dice(s):
if s==1:
a=random.randint(1,6)
return [a]
elif s==2:
a=random.randint(1,6)
b=random.randint(1,6)
return [a,b]
def main():
credit=100
print('Welcome user, you have ', credit,'credits.')
number=int(input('How much do you want to gamble?: '))
while number <0 or number>100:
print('You need to give a positive integer no more than your credit.')
number=int(input('How much do you want to gamble?: '))
result = ran_dice(2)
print ("dice=", result)
firstdice = 0
for dice in result:
if firstdice == 0:
firstdice = dice
elif dice == firstdice:
print("equal")
else:
print("different")
if result[0] == result[1]:
print("equal")
main()
Комментарии:
1. Почему голосование против? Я отвечал на оригинальную версию вопроса, которая была отредактирована : (