雨留下的印记 发表于 2020-3-23 18:38:46

关于print中拼接的一些问题

我想问一下关于print中拼接什么时候用加号什么时候不用加号的问题
name = input("请输入您的姓名:")
print('你好,' + name + '!')
上面这串代码中用+号做拼接
times = 3
secret = "cwj"
while times:
    shuru = input('请输入密码:')
    if '*' in shuru:
      print("密码中不能含有*号,您还有" , times ,"机会","请重新输入:", end= ' ')
      continue
    elif shuru == secret:
      print('密码正确,进入程序')
      break
    else:
      print('密码错误,您还有', times-1 , "次机会!",end=' ' )
        times -=1
而在这串代码中用逗号做拼接,用加号会报错,我想问一下什么时候用加号拼接,什么时候逗号拼接

zltzlt 发表于 2020-3-23 18:44:47

name 是字符串,可以直接用 + 号将字符串拼接。

而 times 是整数,有两种选择:


[*]将 times 转化为整数再跟字符串拼接:
print("密码中不能含有*号,您还有"+ str(times) + "机会","请重新输入:", end= ' ')
[*]没有用逗号拼接字符串的说法,这是在向 print() BIF 传递参数,用逗号分隔,告诉 Python 打印这些内容,Python 会将这些内容转化为字符串再打印:
print("密码中不能含有*号,您还有" , times ,"机会","请重新输入:", end= ' ')

darrenkwan 发表于 2020-3-23 19:11:23

用print()的时候, "+" 是用于字符串拼接的
print('字符串'+'字符串'+'字符串')
这是不会报错的
但是
print('字符串'+times+'字符串')
会报错, 因为 你的time已经赋值是整形<int>, 不是<str>字符串了, 不同类型,不能用+号连接

而, 只是分隔开这些不同的参数, 不受类型影响

六小鸭 发表于 2020-3-23 19:32:58

https://blog.csdn.net/qq_15283475/article/details/71124023
挺详细的~

雨留下的印记 发表于 2020-3-23 21:19:10

懂了,谢谢各位大佬的解答
页: [1]
查看完整版本: 关于print中拼接的一些问题