打印随机编号选择的变量

2024-06-26 11:20:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个名字的列表,我想我的程序随机选择其中一个名字。我尝试使用以下方法:

import random


def main():

    Arkansas = 1
    Manchuria = 2
    Bengal = "3"
    Baja_California = 4
    Tibet = 5
    Indonesia = 6
    Cascade_Range = 7
    Hudson_Bay = 8
    High_Plains = 9
    map = random.randrange(1, 10)
    print(map)

main()

{{cd2>也尝试过使用这个函数的字符串。在


Tags: 方法import程序map列表maindefrandom
3条回答

另一个选择是使用字典。在

my_dict = {1:"Arkansas", 2:"Manchuria", 3:"Bengal",
           4:"Baja California", 5:"Tibet", 6:"Indonesia", 
           7:"Cascade Range", 8:"Hudson Bay", 9:"High Plain"}
map = random.randrange(1, 10)
print(my_dict[map])

使用列表和random.choice()可能是更好的选择(更容易阅读,字节更少),但如果必须分配数字,这将起作用。在

不要指定数字或字符串。使用列表。在

choices = ['Arkansas', 'Manchuria', 'Bengal', 'Baja California']   # etc.

然后拿一个random.choice

^{pr2}$

按字母顺序给列表中的一个浮点数排序。每次你都会得到不同的输出。实际上,我在Excel和OpenOffice Calc中也是这样做的。简单。在

#!/usr/bin/python
# -*- coding: utf-8 -*-

import random

L=['Arkansas', 'Manchuria', 'Bengal', 'Baja California', 'Tibet', 'Indonesia', 'Cascade_Range', 'Hudson Bay', 'High_Plains']

tmp=[]

for item in L:
    item=str(random.random())+'|'+item
    tmp.append(item)

tmp.sort()

for item in tmp:
    print item[item.find('|')+1:]

输出1

^{pr2}$

输出2

Bengal
Baja California
Manchuria
Tibet
Arkansas
High_Plains
Cascade_Range
Hudson Bay
Indonesia

如果你只想得到一个名字,你可以打破这个循环:

for item in tmp:
    print item[item.find('|')+1:]
    break

输出1

Baja California

输出2

Cascade_Range

相关问题 更多 >