goodwar7 发表于 2020-8-20 23:07:33

爱因斯坦阶梯问题

本帖最后由 goodwar7 于 2020-8-20 23:13 编辑

1、大佬好,关于爱因斯坦阶梯问题,找了许多大家回复过的帖子,没看到我想了解的内容,所以提下问题:
x = 7
i = 1
flag = 0

while i <= 100:
    if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6==5):
      flag = 1
    else:
      x = 7 * (i+1) # 根据题意,x一定是7的整数倍,所以每次乘以7
    i += 1

if flag == 1:
    print('阶梯数是:', x)
else:
    print('在程序限定的范围内找不到答案!')

请问print('阶梯数是:', x)中(',) 是什么意思,好像没有讲过。另外print()里面有逗号的情况,只接触过(,end=''),这个逗号怎么理解,还有哪些用法?
为啥第二个 if 条件是flag==1,而不是=1?while里面如果 if 条件成立,按我的理解第二个 if 为ture,那就可以了。

2、我在前一篇问题中,小伙伴提到了用isdigit来解决问题,我的映像中,所学内容并没有该点,这个单词是“方法”吗,请问哪里可以找到这些内容进行学习(目前还分不清paython里各种有用的特殊单词,所以不知道如何去查找以便了解),能有传送门最好啦,偷下懒。

Twilight6 发表于 2020-8-20 23:26:01

本帖最后由 Twilight6 于 2020-8-20 23:27 编辑

请问print('阶梯数是:', x)中(',) 是什么意思,好像没有讲过?另外print()里面有逗号的情况,只接触过(,end=''),这个逗号怎么理解,还有哪些用法?

这里不是 ', 你理解错了,这里的结构是:

print( ' 阶梯数是:' , x)

这样的,一对单引号是字符串的意思,Python 语法中单双引号没有功能上的区别,而这里的逗号只是分隔不同参数的作用而已

end 是 print 函数打印结束后追加打印 end 的值,end 默认值是等于一个换行符,当你对 end 重新赋值时候就打印你赋值的值,也就不会换行了

为啥第二个 if 条件是flag==1,而不是=1?

一个 = 号是赋值操作,两个等号是判断,这里当然是判断是否相等

这里可以对代码改进下,不用 flag 判断,直接打印:

x = 7
i = 1

while i <= 100:
    if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6==5):
      print(x)
    x = 7 * (i+1)
    i += 1

2、我在前一篇问题中,小伙伴提到了用isdigit来解决问题,我的映像中,所学内容并没有该点,这个单词是“方法”吗

甲鱼哥第五讲会说明,慢慢学别着急哈~

关于对应的函数方法啥的,菜鸟教程很不错:https://www.runoob.com/python3/python3-string.html

°蓝鲤歌蓝 发表于 2020-8-20 23:28:29

本帖最后由 °蓝鲤歌蓝 于 2020-8-20 23:30 编辑

先说声服气,你的基础属实一言难尽。
请问print('阶梯数是:', x)中(',) 是什么意思
这里 print() 是个函数,传了两个参数, 一个是
'阶梯数是:',一个是 x
在python或者说大部分编程语言里,参数之间是需要用 "," 区分开的,因为这样的东西
'阶梯数是:'x
人很难理解。
所以你说的 (',) 是什么意思 里 " ' "是字符串末尾的引号,与开头的引号配对用的,(字符串不会没学过吧?),
而 ","是为了区分字符串对象 '阶梯数是:' 和int对象 x 的。
这属于问都问错来。
然后在说 if flag == 1 为什么不用 = ,只要学了 python 基础里的赋值和判断语句你都应该知道
= 是赋值,而 == 是判断,if语句是判断语句,后面接的是判断条件,判断为 true/false,而不是接赋值语句。

2.请自行百度,然后找时间最接近今年的文章,基本能解决你的困惑。

小白到大佬 发表于 2020-8-20 23:43:42

(',)不是连起来看的,'和前面的'组成一个完整的单引号,()中的逗号起分隔的作用啊,判断某个变量是否等于某个值用==,小甲鱼在前面强调过,给某个变量赋值用=,只有当while那个循环结束了,才会执行第二个if的内容
digital是数据的意思,函数isdigit()是用来判断一个字符是否全为数字,在第005讲:闲聊之Python的数据类型,动动手第0题小甲鱼有用到,用来判断输入猜测的数是否是整数,因为小数会带小数点,就不全为数字

goodwar7 发表于 2020-8-21 21:42:08

°蓝鲤歌蓝 发表于 2020-8-20 23:28
先说声服气,你的基础属实一言难尽。

这里 print() 是个函数,传了两个参数, 一个是


看蒙了,第一个问题现在发现问的好傻

goodwar7 发表于 2020-8-21 21:42:50

小白到大佬 发表于 2020-8-20 23:43
(',)不是连起来看的,'和前面的'组成一个完整的单引号,()中的逗号起分隔的作用啊,判断某个变量是否等于 ...

谢谢,视频学的还不够认真
页: [1]
查看完整版本: 爱因斯坦阶梯问题