如何根据输入多次运行一行代码?

如何根据输入多次运行一行代码?

问题内容

使用 python,我试图找到一种更快的方法来根据输入多次运行 randint,而不必写出每个输入的可能性。这是用于桌面游戏的骰子滚轮。代码如下

import randomfrom random import randinti1=input("what type of die?: ")i2=input("how many times?:")roll_again = "yes"while roll_again == "yes" or roll_again == "y":        if i1=="d6":        if i2=="1":            value1=randint(1,6)            print(value1)            roll_again = input("roll again?")        if i2=="2":            value1=randint(1,6)            value2=randint(1,6)            print(value1,value2)            roll_again = input("roll again?")        if i2=="3":            value1=randint(1,6)            value2=randint(1,6)            value3=randint(1,6)            print(value1,value2,value3)            roll_again = input("roll again?")        if i2=="4":            value1=randint(1,6)            value2=randint(1,6)            value3=randint(1,6)            value4=randint(1,6)            print(value1,value2,value3,value4)            roll_again = input("roll again?")        elif i1=="d4":        if i2=="1":            value1=randint(1,4)            print(value1)            roll_again = input("roll again?")        if i2=="2":            value1=randint(1,4)            value2=randint(1,4)            print(value1,value2)            roll_again = input("roll again?")        if i2=="3":            value1=randint(1,4)            value2=randint(1,4)            value3=randint(1,4)            print(value1,value2,value3)            roll_again = input("roll again?")        if i2=="4":            value1=randint(1,4)            value2=randint(1,4)            value3=randint(1,4)            value4=randint(1,4)            print(value1,value2,value3,value4)            roll_again = input("roll again?")

登录后复制

我正在继续添加其他骰子类型。基本上我希望能够输入 100 作为输入,它给我 100 randint ,而不必手动编码直到 if i2==”100″ 但仍然保持不同的“ifs”。我还想打印滚动值的总和

对于第二部分,我尝试 print(sum(value1,value2)) 但由于 value1 和 value2 不是整数,我收到错误

正确答案

如果我理解正确的话,你想简化算法的操作。

我的代码工作原理如下。

用户输入骰子的类型(例如“d6”、“d10”)和投掷次数。程序检查输入的骰子类型是否正确(以“d”开头且骰子面数为正)。

如果数据正确,程序将使用给定的骰子生成给定的投掷次数,将结果保存到值列表中并打印它们。

程序计算获得的结果的总和并打印出来。

程序询问用户是否希望继续进行另一次抛出。

如果用户决定再掷一次,程序将重复生成和打印结果的过程。

如果用户输入不正确的数据(例如,骰子格式错误或投掷次数小于 1),程序将打印一条错误消息。

我假设您会修改此代码以满足您的需求

from random import randinti1 = input("Enter the type of dice (e.g., d6, d4): ")i2 = int(input("Enter the number of dice rolls: "))if i1.startswith("d") and i2 > 0:    dice_type = int(i1[1:])    values = []    for _ in range(i2):        values.append(randint(1, dice_type))    print(*values)    print("Sum:", sum(values))    roll_again = input("Roll again? (yes/no): ").lower()    while roll_again == "yes":        values = []        for _ in range(i2):            values.append(randint(1, dice_type))        print(*values)        print("Sum:", sum(values))        roll_again = input("Roll again? (yes/no): ").lower()else:    print("Invalid input. Please enter a valid dice type and number of rolls.")

登录后复制

以上就是如何根据输入多次运行一行代码?的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2211938.html

(0)
上一篇 2025年2月26日 05:04:02
下一篇 2025年2月24日 05:02:52

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论