hexia233332
酥和侠
2021-01-24 11:52
采纳率: 66.7%
浏览 16
已结题

在输出语句中怎么引用两个变量并且调用随机数

在底下的输出语句中,我想同时输出cygz{1-8}和gz{1-8}并保证cygz和gz的序号所对应,但我试了几种方法去执行随机数都会报错,想问下有比较好的办法吗(纯小白翻了半天百度没找到解决办法)

  • 点赞
  • 收藏

9条回答 默认 最新

  • songhaixing2
    给你骨质唱疏松 2021-01-24 14:53
    已采纳

    刚吃饭去了,

     

    这样的 : 其实上面已经可以实现了

    import random
    cygz1 = 111
    cygz2 = 222
    cygz3 = 333
    cygz4 = 444
    
    i = random.randint(1,4)
    eval(f"print(cygz{i})")

    每次都会随机打印 111,222,333,444

     

    点赞 评论
  • songhaixing2
    给你骨质唱疏松 2021-01-24 12:25
    cygz1 = 111
    cygz2 = 222
    cygz3 = 333
    cygz4 = 444
    
    gz1 = "11aaa"
    gz2 = "22bbb"
    gz3 = "33ccc"
    gz4 = "44ddd"
    
    for i in range(1,5):
        eval(f"print(cygz{i},gz{i})")
    
    '''输出
    111 11aaa
    222 22bbb
    333 33ccc
    444 44ddd
    '''

    类似于这样的吗?

    点赞 评论
  • hexia233332
    酥和侠 2021-01-24 12:59

    不是循环输出,就是输出一次带gz和cygz的两个变量,最好是在一句话内输出

    点赞 评论
  • songhaixing2
    给你骨质唱疏松 2021-01-24 13:22

    输出变量名还是变量值, 上面实现的是输出序号一一对应的两个变量值

    输出一次是什么意思? 就是打印一次还是什么? 不太明白

    点赞 评论
  • songhaixing2
    给你骨质唱疏松 2021-01-24 13:27
    import random
    cygz1 = 111
    cygz2 = 222
    cygz3 = 333
    cygz4 = 444
    
    gz1 = "11aaa"
    gz2 = "22bbb"
    gz3 = "33ccc"
    gz4 = "44ddd"
    
    i = random.randint(1,5)
    print(f"cygz{i}--gz{i}")
    
    '''输出
    cygz3--gz3
    '''

    这样?

    点赞 评论
  • hexia233332
    酥和侠 2021-01-24 13:44

    按照您的例子的话就是:比如我执行这个命令,就会打印"333"和"33ccc",而不是打印出变量的名字cygz3和gz3,而且1-8的序号是随机的

    点赞 评论
  • hexia233332
    酥和侠 2021-01-24 14:31

    啊不好意思我研究了下发现两个变量是不能同时输出的,那改下问题,怎么引用一个随机的变量。

    cygz1 = 111
    cygz2 = 222
    cygz3 = 333
    cygz4 = 444

    比如这个,在我执行的时候是随机打印出111或222或333或444的 

    点赞 评论
  • hexia233332
    酥和侠 2021-01-24 14:32

    不循环,有且只有打印出一个值

    点赞 评论
  • songhaixing2
    给你骨质唱疏松 2021-01-24 15:00

    另外补充一下, eval 函数, 是将传入的字符串当做Python语句执行一下, 当然也不能有语法错误

    点赞 评论

相关推荐