Python如何做随机数

2021-05-16 07:48:06 发布

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

所以我正在建立一个程序,让我执行不同的程序。我有菜单,有17种不同的选择。最后一个是生成一个随机数,但是我如何让程序生成这个数并使用这个数来输入它:下面是我的代码示例。。。你知道吗

import os
import random
print ("""
Press enter to exit
1.)BeamNG Drive 
.....
17.)Random
""")
if answer == "1":
    os.startfile("D:\Games\BeamNG Drive\BeamNG.drive.exe")
    print("Launching BeamNG")
elif answer == "17":
    from random import randint
    print(random.randint(0, 14))
2条回答
网友
1楼 ·

您可以使用递归来实现这一点。如果将处理放在一个函数中,如果数字是17,它就可以调用自己

import os
import random



def choose_program(number)
    if number == "1":
        os.startfile("D:\Games\BeamNG Drive\BeamNG.drive.exe")
        print("Launching BeamNG")
    elif number == "17":
        number = str(random.randint(0, 14))
        print(number)
        choose_program(number)


number = input("""
Press enter to exit
1.)BeamNG Drive 
.....
17.)Random
""")

choose_program(number)
网友
2楼 ·

您可能不知道,在Python中处理多个选择的一种常见方法是使用字典。这是另一种用这种方法解决问题的方法。你知道吗

import os
import random

game = {
'1': 'D:\Games\BeamNG Drive\BeamNG.drive.exe',
'2': 'game 2',
'3': 'game 3',
'4': 'game 4',
'5': 'game 5',
'6': 'game 6',
'7': 'game 7',
'8': 'game 8',
'9': 'game 9',
'10': 'game 10',
'11': 'game 11',
'12': 'game 12',
'13': 'game 13',
'14': 'game 14',
'15': 'game 15',
'16': 'game 16',
}

game['17'] = game[str(random.randint(1,16))]

for n in range(1, 17):
    print (n, game[str(n)])
print (17, 'Random choice of one of these')

choice = input()

print (game[choice])

其优点是,代码往往比一系列ifelifelse语句更紧凑、更易于阅读。在这种情况下,只需注意涉及random的替换必须在game字典的主定义之外声明,因为它包含了对game本身的提及,所以必须在引用它之前定义game。在您的例子中,您需要制作一个包含列表的字典,一个列表项包含要打印的项的名称,另一个列表项包含要执行的文件名。你知道吗

相关问题