Skip to main content
 首页 » 编程设计

python之对我的输出感到困惑

2025年05月04日16Renyi-Fan

目前我只是在用 Python 创建一个赌场。只是胡闹,我已经没有那么多问题了。而是困惑。一段时间以来,我一直在努力弄清楚这一点。我的输出没有遵循任何明显的模式,但每次都一样。

import random 
import time 
import string 
import os 
import platform 
 
def clear(): 
    operSys = platform.system() 
    if operSys.lower() == "Windows": 
        os.system('cls') 
    else: 
        os.system('clear') 
 
cards = {"Ace of Spades":'1', 
         "Ace of Clubs":'1',  
         "Ace of Diamonds":'1',  
         "Ace of Hearts":'1',  
 
         "Two of Spades":'2',  
         "Two of Clubs":'2',  
         "Two of Diamonds":'2', 
         "Two of Hearts":'2', 
 
         "Three of Spades":'3', 
         "Three of Clubs":'3', 
         "Three of Diamonds":'3', 
         "Three of Hearts":'3', 
 
         "Four of Spades":'4', 
         "Four of Clubs":'4', 
         "Four of Diamonds":'4', 
         "Four of Hearts":'4', 
 
         "Five of Spades":'5', 
         "Five of Clubs":'5', 
         "Five of Diamonds":'5', 
         "Five of Hearts":'5', 
 
         "Six of Spades":'6', 
         "Six of Clubs":'6', 
         "Six of Diamonds":'6', 
         "Six of Hearts":'6', 
 
         "Seven of Spades":'7', 
         "Seven of Clubs":'7', 
         "Seven of Diamonds":'7', 
         "Seven of Hearts":'7', 
 
         "Eight of Spades":'8', 
         "Eight of Clubs":'8', 
         "Eight of Diamonds":'8', 
         "Eight of Hearts":'8', 
 
         "Nine of Spades":'9', 
         "Nine of Clubs":'9', 
         "Nine of Diamonds":'9', 
         "Nine of Hearts":'9', 
 
         "Ten of Spades":'10', 
         "Ten of Clubs":'10', 
         "Ten of Diamonds":'10', 
         "Ten of Hearts":'10', 
 
         "Jack of Spades":'11', 
         "Jack of Clubs":'11', 
         "Jack of Diamonds":'11', 
         "Jack of Hearts":'11', 
 
         "Queen of Spades":'12', 
         "Queen of Clubs":'12', 
         "Queen of Diamonds":'12', 
         "Queen of Diamonds":'12', 
 
         "King of Spades":'13', 
         "King of Clubs":'13', 
         "King of Diamonds":'13', 
         "King of Hearts":'13'} 
 
for x in cards: 
    print x + ' : ' + cards[x] 

输出:

Queen of Clubs : 12 
Ten of Hearts : 10 
Three of Spades : 3 
Nine of Spades : 9 
Ace of Clubs : 1 
King of Spades : 13 
Ace of Spades : 1 
Queen of Diamonds : 12 
Three of Hearts : 3 
Seven of Hearts : 7 
Two of Spades : 2 
Two of Hearts : 2 
Five of Hearts : 5 
Three of Clubs : 3 
Queen of Spades : 12 
Two of Clubs : 2 
Four of Diamonds : 4 
King of Diamonds : 13 
Ace of Diamonds : 1 
Five of Diamonds : 5 
Four of Spades : 4 
Six of Spades : 6 
Ten of Spades : 10 
Eight of Clubs : 8 
Jack of Clubs : 11 
Six of Diamonds : 6 
Two of Diamonds : 2 
Eight of Hearts : 8 
Jack of Hearts : 11 
Nine of Hearts : 9 
King of Hearts : 13 
Ace of Hearts : 1 
Seven of Spades : 7 
Six of Hearts : 6 
Ten of Clubs : 10 
Five of Spades : 5 
Jack of Spades : 11 
Eight of Spades : 8 
Ten of Diamonds : 10 
Four of Clubs : 4 
Eight of Diamonds : 8 
Jack of Diamonds : 11 
Six of Clubs : 6 
King of Clubs : 13 
Three of Diamonds : 3 
Nine of Clubs : 9 
Nine of Diamonds : 9 
Seven of Diamonds : 7 
Four of Hearts : 4 
Five of Clubs : 5 
Seven of Clubs : 7 

请您参考如下方法:

Python(和大多数其他语言)中的字典没有隐含的顺序。它们实际上用于无序的键值对,甚至不尝试保留键值对的顺序。作为一种数据结构,目标是在牺牲其他特征(如顺序)的情况下以尽可能低的成本查找值。

因此,如果您真的想要一个订单,您可以将键放入一个有序的数组中,然后从字典中查找值,或者甚至首先使用一个数组来存储您的所有数据。