基本上我需要一些快速的帮助。我正在做一个程序,我用两个随机发生器来生成数字。
发电机的结果应该是第一个生成器生成一个数字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)发布于 2017-10-25 18:46:59
使用random.choice()和字符串格式尝试以下操作
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'混合。
发布于 2017-10-25 19:00:32
另一种解决办法是:
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])https://stackoverflow.com/questions/46939742
复制相似问题