zowen 发表于 2022-3-15 18:20:11

【新手求助】抽奖的小程序代码实现

不采用数组和返回值的方式
采用生成一个随机数
然后生成的随机数作为函数的变量
定义一个函数
def Fc_up(a_a):       
    a1='名字'
    a2='名字'
    a3='名字'
    num=str('a'+a_a)
    print(num)

可以打印中奖人的名字

因为变量不能直接设置数字,前面加个字母
最后打出来的是字符串~~~~~

isdkz 发表于 2022-3-15 18:22:41

本帖最后由 isdkz 于 2022-3-15 18:27 编辑

你的需求可以用 eval 函数实现,eval 函数可以把你的字符串当成 python代码
def Fc_up(a_a):      
    a1='名字'
    a2='名字'
    a3='名字'
    num=eval(f'a{a_a}')
    print(num)

zowen 发表于 2022-3-15 18:25:53

感谢大佬~论坛太有爱了~运行了下 报错了
>>> Fc_up(2)
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
    Fc_up(2)
File "C:/Users/15915/2.py", line 5, in Fc_up
    num=eval('a'+a_a)
TypeError: can only concatenate str (not "int") to str

isdkz 发表于 2022-3-15 18:27:26

zowen 发表于 2022-3-15 18:25
感谢大佬~论坛太有爱了~运行了下 报错了
>>> Fc_up(2)
Traceback (most recent call last):


这是因为你用了字符串拼接,字符串拼接得是字符串之间

isdkz 发表于 2022-3-15 18:28:29

zowen 发表于 2022-3-15 18:25
感谢大佬~论坛太有爱了~运行了下 报错了
>>> Fc_up(2)
Traceback (most recent call last):


如果你是传一个整数的话就改一下
def Fc_up(a_a):      
    a1='名字'
    a2='名字'
    a3='名字'
    num=eval(f'a{a_a}')
    print(num)

zowen 发表于 2022-3-15 18:30:05

感谢!成功运行!我仔细看下{:5_109:}

zowen 发表于 2022-3-15 20:29:32

isdkz 发表于 2022-3-15 18:28
如果你是传一个整数的话就改一下

看了大佬攻略前
百度了N多资料,总算找到了一个方法把变量值和运算符用字符串输出
a=3
b=4
print(str(a),end='')
print('+',end='')
print(str(b))
看完大佬攻略我悟了:
a=3
b=4
print(f'{a}+{b}')
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

isdkz 发表于 2022-3-15 20:31:48

zowen 发表于 2022-3-15 20:29
看了大佬攻略前
百度了N多资料,总算找到了一个方法把变量值和运算符用字符串输出
a=3


f-string 是 python 字符串格式化的最终选择,

你可以看一下这个:
https://mp.weixin.qq.com/s/mpjDJ50T5ZjskKIIZO6_vQ
页: [1]
查看完整版本: 【新手求助】抽奖的小程序代码实现