Python中如何在print函数拼接整数变量而非执行加法运算
猜数字游戏字符串拼接实现方案
你现有代码存在3个需要修正的问题:
- 变量定义顺序错误:
lowerboundnumber和greaterboundnumber的定义写在了print语句之后,运行时会触发NameError变量未定义错误,需要把变量定义放在print语句之前。 - 字符串与整数无法直接用
+拼接:Python中+作为拼接运算符仅支持两端都是字符串类型,你的两个边界变量是整数类型,直接拼接会触发TypeError,不会出现你担心的整数加法问题,属于类型不兼容报错。 - 方法名拼写错误:
random.randit是错误写法,正确方法名为random.randint。
以下是三种常用的实现方案:
方案1:f-string格式化(推荐,Python3.6及以上版本支持,语法最简洁)
import random # 先定义边界变量 lowerboundnumber = random.randint(1, 50) greaterboundnumber = random.randint(51, 100) # 直接在字符串中用{}包裹变量即可自动填充 print(f"I am thinking of a number between {lowerboundnumber} and {greaterboundnumber}")
方案2:整数转字符串后拼接(适配你原有拼接写法)
如果要保留+拼接的写法,把两个整数变量用str()方法转成字符串即可:
import random lowerboundnumber = random.randint(1, 50) greaterboundnumber = random.randint(51, 100) print("I am thinking of a number between " + str(lowerboundnumber) + " and " + str(greaterboundnumber))
注意字符串首尾最好加空格,不然输出的内容会连在一起可读性差
方案3:format方法(兼容所有Python版本)
import random lowerboundnumber = random.randint(1, 50) greaterboundnumber = random.randint(51, 100) print("I am thinking of a number between {} and {}".format(lowerboundnumber, greaterboundnumber))
内容的提问来源于stack exchange,提问作者юля
相关产品推荐
相关产品推荐

