基本上我需要一些快速帮助。我正在制作一个程序,我使用两个随机生成器来生成数字。
生成器的结果应该是第一个生成器生成数字8,第二个生成器生成数字17.然后我希望它将其翻译为:" 8钻石"。
到目前为止,这是我的代码:
import random
Player1 = input("Enter Name Of Player1")
Card = random.randint(2, 14)
Suit = random.randint(15,18)
if Card == 11:
print("Jack")
elif Card == 12:
print("Queen")
elif Card == 13:
print("King")
elif Card == 14:
print("Ace")
else:
print(Card)
答案 0 :(得分:2)
使用random.choice()
和string formats
import random
suits = ['Hearts', 'Diamonds', 'Clubs', 'Spades']
numbers = [
'2', '3', '4', '5', '6', '7', '8', '9', '10',
'Jack', 'Queen', 'King', 'Ace']
print('{number} of {suit}'.format(
number=random.choice(numbers),
suit=random.choice(suits)))
>> Ace of Hearts
您可以使用一些range
函数来生成数字,但在这种特殊情况下,您可能可以通过硬编码来解决问题。请注意,字符串可能是更好的选择,因为您将其与'Jack', 'Queen', 'King', and 'Ace'
混合使用。
答案 1 :(得分:0)
另一种解决方案:
import random
Player1 = raw_input("Enter Name Of Player1")
suits = ['Hearts', 'Diamonds', 'Clubs', 'Spades']
numbers = {2:'2', 3:'3', 4:'4', 5:'5', 6:'6', 7:'7', 8:'8', 9:'9', 10:'10', 11:'Jack', 12:'Queen', 13:'King', 14:'Ace'}
Card = random.randint(2, 14)
Suit = random.randint(0, 3)
print '{0} of {1}'.format(numbers[Card], suits[Suit])