• 售前

  • 售后

热门帖子
入门百科

python for循环内输出和外输出方式

[复制链接]
心灰意冷437 显示全部楼层 发表于 2021-10-26 14:15:29 |阅读模式 打印 上一主题 下一主题
通过for循环求和,结果发现输出完全不一样,一个循环是输出每一步的结果,另一个循环是输出终极一次的结果,本日终于弄懂了。
如下所示:



补充:python中for循环输出(index,value)的两种方法
index索引
value索引值
方法一、利用enumerate()
  1. list1=['a','s','d','g']
  2. for index,value in enumerate(list1):
  3. print('索引:%d,索引值:%s'%(index,value))
复制代码
输出结果:
  1. 索引:0,索引值:a
  2. 索引:1,索引值:s
  3. 索引:2,索引值:d
  4. 索引:3,索引值:g
复制代码
方法二、利用range(len())
  1. list1=['q','w','e','r']
  2. for i in range(len(list1)):
  3. print('索引:%d,索引值:%s'%(i,list1[i]))
复制代码
输出结果:
  1. 索引:0,索引值:q
  2. 索引:1,索引值:w
  3. 索引:2,索引值:e
  4. 索引:3,索引值:r
复制代码
补充:Python 最基本的语法(输入输出,for循环)
Python-入门中的入门——打印日历
历程:

大一上半年C++书中的案例,连表明带上代码一共二百行,当时本身C++写了足足200行才解决。厥后19年元旦自学python拿起这道题重写,写了60行。为了回想python 语法重新写了一遍,结果写完发现才三十行的样子(都怪重装体系忘记备份python文件,搞得现在都不知道当时咋写的那么长)
题干大意

已知2000年1月1日为星期六,按照日期盘算并打印日历(如图)

代码
  1. def get_year_days(n):
  2. if n%4==0 and n%100!=0 or n%400==0 : return 366
  3. else : return 365
  4. def get_month_days(n,m):
  5. if m == 1 or m == 3 or m == 5 or m == 7 or m == 8 or m == 10 or m == 12:return 31
  6. if m == 4 or m == 6 or m == 9 or m == 11 : return 30
  7. if m == 2:
  8. if n==365: return 28
  9. else:return 29
  10. target_n = int(input("Please input year"))
  11. target_y = int(input("Please input month"))
  12. sum = 0
  13. for x in range(2000,target_n):
  14. print(x,get_year_days(x))
  15. sum = sum + get_year_days(x)
  16. for x in range(1,target_y):
  17. print(x,get_month_days(get_year_days(target_n),x))
  18. sum = sum + get_month_days(get_year_days(target_n),x)
  19. # print(sum)
  20. dx = (sum+6)%7
  21. if dx == 0: dx = 7
  22. print("一 二 三 四 五 六 日")
  23. for x in range(1,dx+1):print(" ",end = " ")
  24. for x in range(1,get_month_days(get_year_days(target_y),target_y)):
  25. if x<=9 and x>=1 : print(x , end = " ")
  26. else :print(x,end = " ")
  27. if (x+dx)%7==0:print()
复制代码
语法易错点整理

输入输特殊式

(四个月没写python 是真的忘得一干二净,查怎么输入输出花了一会时间)
1、理解input ,它可以担当许多形式的输入,假如在储存时就想确定他的数据范例,就要用个括号兜起来然后前面写上数据范例。
  1. a = input(); #此时输入的以不确定的形式储存在了a中
  2. a = int(intput()); #此时输入的东西自动以int数据类型储存在了a中
  3. a = int(input("一句话")) #此时在输出之前输出了"一句话"
复制代码
2、输特殊式
是print,不是println 也不是printf(受最近写Java和打acm的习惯的影响)以为println可以换行,才发现print本身就可以换行。此外另有不换行的办法,就是通过print的()中加上一个 end = ……,来改变输出后的处理处罚方式。
  1. print(10) #输出10
  2. print(a) #输出a
  3. print(a , end = " ") #以空格来结束此次的输出
  4. print(a, end = "任意东西") #以"任意东西"来做为结束此次的输出
复制代码
for循环的range

range的遍历是前开后不开(用区间来表示)
  1. for x in range(1,5) : #此时会遍历1 2 3 4,不会遍历5
复制代码
以上为个人经验,盼望能给大家一个参考,也盼望大家多多支持草根技术分享。如有错误或未考虑完全的地方,望不吝见教。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作