欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-24 22:22:24
通过for循环求和,结果发现输出完全不一样,一个循环是输出每一步的结果,另一个循环是输出最终一次的结果,今天终于弄懂了。如下所示:补充:python中for循环输出(index,value)的两种方法...

通过for循环求和,结果发现输出完全不一样,一个循环是输出每一步的结果,另一个循环是输出最终一次的结果,今天终于弄懂了。

如下所示:

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

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

补充:python中for循环输出(index,value)的两种方法

index索引

value索引值

方法一、利用enumerate()

list1=['a','s','d','g']
for index,value in enumerate(list1):
 print('索引:%d,索引值:%s'%(index,value))

输出结果:

索引:0,索引值:a

索引:1,索引值:s

索引:2,索引值:d

索引:3,索引值:g

方法二、利用range(len())

list1=['q','w','e','r']
for i in range(len(list1)):
 print('索引:%d,索引值:%s'%(i,list1[i]))

输出结果:

索引:0,索引值:q

索引:1,索引值:w

索引:2,索引值:e

索引:3,索引值:r

补充:python 最基本的语法(输入输出,for循环)

python-入门中的入门——打印日历

历程:

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

题干大意

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

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

代码

def get_year_days(n):
 if n%4==0 and n%100!=0 or n%400==0 : return 366
 else : return 365
def get_month_days(n,m):
 if m == 1 or m == 3 or m == 5 or m == 7 or m == 8 or m == 10 or m == 12:return 31
 if m == 4 or m == 6 or m == 9 or m == 11 : return 30
 if m == 2:
 if n==365: return 28
 else:return 29
target_n = int(input("please input year"))
target_y = int(input("please input month"))
sum = 0
for x in range(2000,target_n):
 print(x,get_year_days(x))
 sum = sum + get_year_days(x)
for x in range(1,target_y):
 print(x,get_month_days(get_year_days(target_n),x))
 sum = sum + get_month_days(get_year_days(target_n),x)
# print(sum)
dx = (sum+6)%7
if dx == 0: dx = 7
print("一 二 三 四 五 六 日")
for x in range(1,dx+1):print(" ",end = " ")
for x in range(1,get_month_days(get_year_days(target_y),target_y)):
 if x<=9 and x>=1 : print(x , end = " ")
 else :print(x,end = " ")
 if (x+dx)%7==0:print()

语法易错点整理

输入输出格式

(四个月没写python 是真的忘得一干二净,查怎么输入输出花了一会时间)

1、理解input ,它可以接受很多形式的输入,如果在储存时就想确定他的数据类型,就要用个括号兜起来然后前面写上数据类型。

a = input(); #此时输入的以不确定的形式储存在了a中
a = int(intput()); #此时输入的东西自动以int数据类型储存在了a中
a = int(input("一句话")) #此时在输出之前输出了"一句话"

2、输出格式

是print,不是println 也不是printf(受最近写java和打acm的习惯的影响)以为println可以换行,才发现print本身就可以换行。此外还有不换行的办法,就是通过print的()中加上一个 end = ……,来改变输出后的处理方式。

print(10) #输出10
print(a) #输出a
print(a , end = " ") #以空格来结束此次的输出
print(a, end = "任意东西") #以"任意东西"来做为结束此次的输出

for循环的range

range的遍历是前开后不开(用区间来表示)

for x in range(1,5) : #此时会遍历1 2 3 4,不会遍历5

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。