Python 最基本的语法(输入输出,for循环)

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

题干大意

已知2000年1月1日为星期六,按照日期计算并打印日历(如图)在这里插入图片描述

代码

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
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值