|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 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:27 编辑
请问print('阶梯数是:', x)中 ( ', ) 是什么意思,好像没有讲过?另外print()里面有逗号的情况,只接触过 (,end=''),这个逗号怎么理解,还有哪些用法?
这里不是 ', 你理解错了,这里的结构是:
这样的,一对单引号是字符串的意思,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
|
|