找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 7769|回复: 11

[已回复] python3.4.4 逗号与加号

4

主题

11

帖子

11

积分

贫民

积分
11
prowltiger 发表于 2016-12-21 22:09:44 | 显示全部楼层 |阅读模式
python3.4.4

a="tiger\n","fox"
print(a)
显示的是  'tiger\n','fox'
但是print("tiger\n","fox")
显示的是
tiger
fox

b="tiger\n"+"fox"
print(b)
显示的是
tiger
fox
print("tiger\n+"fox"")
显示的也是
tiger
fox

为什么上面一个不同,下面一个相同。

多谢!



回复

使用道具 举报

50

主题

1057

帖子

1108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1108

活跃会员热心会员最佳导师默默耕耘突出贡献优秀版主荣誉管理论坛元老

blueelwang 发表于 2016-12-22 10:22:27 来自手机 | 显示全部楼层
你查一下python3手册,它是支持第二个参数的,所以你那个逗号成了参数分割符
回复 支持 反对

使用道具 举报

4

主题

11

帖子

11

积分

贫民

积分
11
prowltiger  楼主| 发表于 2016-12-22 11:56:45 | 显示全部楼层
blueelwang 发表于 2016-12-22 10:22
你查一下python3手册,它是支持第二个参数的,所以你那个逗号成了参数分割符 ...

谢谢,虽然还是没有懂。
回复 支持 反对

使用道具 举报

50

主题

1057

帖子

1108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1108

活跃会员热心会员最佳导师默默耕耘突出贡献优秀版主荣誉管理论坛元老

blueelwang 发表于 2016-12-22 16:42:53 | 显示全部楼层
prowltiger 发表于 2016-12-22 11:56
谢谢,虽然还是没有懂。

print("tiger", "fox")
这个fox就相当于结束符, 这么用, 相当于把两个字符连接起来了
记住这个用法即可
回复 支持 反对

使用道具 举报

1

主题

8

帖子

8

积分

贫民

积分
8
tonyibm 发表于 2016-12-22 21:45:45 | 显示全部楼层
a="tiger\n","fox"
print(a)

系统认为"tiger\n","fox"是一整个字符串,直接打印出来,
print("tiger\n","fox"), 这个则是打印的两个不同的字符串,第一个有换行符,所以打印出来是两行,

后面的两个都是将两个字符串相加先,因为你显式的使用了字符串连接符号 + ,

这两个字符串先用+连接,再打出来,和分别打印这两个字符串的效果是一样的,
回复 支持 反对

使用道具 举报

4

主题

11

帖子

11

积分

贫民

积分
11
prowltiger  楼主| 发表于 2016-12-24 22:48:31 | 显示全部楼层
blueelwang 发表于 2016-12-22 16:42
print("tiger", "fox")
这个fox就相当于结束符, 这么用, 相当于把两个字符连接起来了
记住这个用法即可 ...

谢谢!
回复 支持 反对

使用道具 举报

4

主题

11

帖子

11

积分

贫民

积分
11
prowltiger  楼主| 发表于 2016-12-24 22:48:52 | 显示全部楼层
tonyibm 发表于 2016-12-22 21:45
a="tiger\n","fox"
print(a)

谢谢!
回复 支持 反对

使用道具 举报

4

主题

11

帖子

11

积分

贫民

积分
11
prowltiger  楼主| 发表于 2016-12-24 22:59:29 | 显示全部楼层
还有一个问题,关于while的。
我照抄书上的,怎么还是提示语法出错?

import random

number1=random.randint(0,9)
number2=random.randint(0,9)

if number1<number2:
    number1,number2=number2,number1

answer=eval(input("What is "+str(number1)+"-"+str(number2)+"? "))

while number1-number2 != answer:
    answer=eval(input("Wrong answer. Try again. "+\
                  "What is "+str(number1)+"-"+str(number2)+"? "))

print("You got it!")

我和书上对照了几遍,没发现哪里有问题。就是没法运行。老是提示while语法错误。

谁能指点下?多谢了!
回复 支持 反对

使用道具 举报

1419

主题

1891

帖子

291

积分

侠客

积分
291

最佳新人热心会员默默耕耘

whydo1 发表于 2016-12-25 13:01:40 | 显示全部楼层
while number1-number2 != answer:

改为

while (number1-number2) != answer:

试试
python3.4.4, win10
回复 支持 反对

使用道具 举报

4

主题

11

帖子

11

积分

贫民

积分
11
prowltiger  楼主| 发表于 2016-12-25 20:42:19 | 显示全部楼层
whydo1 发表于 2016-12-25 13:01
while number1-number2 != answer:

改为

谢谢!
加上括号也不行。
奇怪的是,我直接把这些在python命令行中输入就能运行,保存好之后再运行就不行。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表