Python练习(1)

if练习:

1.判断一个年份是不是闰年。
闰年为年份能被400整除,或能被4整除但不能被100整除

		year = int(input('Year:'))
		if (year % 4 == 0 and year %100 !=0) or (year %400 == 0):
			    print('%d是闰年' %(year))
		else:
			    print('%d不是闰年' %(year))

测试:
在这里插入图片描述
在这里插入图片描述
2.随机选择一个三位以内的数字作为答案。用户输入一个数字,系统判断大了还是小了。

	import random
	num = random.randint(0,999)
	num1=int(input('请输入一个数字:'))
	if num > num1:
		print('你输入的数字小了')
	elif num == num1:
		print('恭喜你猜对了')
	else:
		print('你输入的数字大了')

测试:
在这里插入图片描述
在这里插入图片描述

输入输出练习

求平均成绩
输入学生姓名;
依次输入学生的三门科目成绩;(语文 数学 英语)
计算该学生的平均成绩, 并打印;
平均成绩保留一位小数点;
计算该学生语文成绩占总成绩的百分之多少?并打印。eg: 78%;

	#_*_coding:utf-8_*_
	name = input('请输入学生姓名:')
	Chinese = float(input('语文成绩:'))
	Math = float(input('数学成绩:'))
	English = float(input('英语成绩:'))
	total = Chinese + Math + English
	aver = total/3
	print('平均成绩为%.1f' %(aver))
	print('%s的语文成绩占总成绩的%.2f%%' %(name,(Chinese/total)*100))

测试:
在这里插入图片描述

综合练习

  1. 输入年、月,输出本月有多少天。
    输入样例1:2004 2
    输出结果1:本月29天
    输入样例2:2010 4
    输出结果2:本月30天

     #_*_coding:utf-8_*_
     D,M = map(int,input().split())			###一次赋值俩个
     a = int(D) % 4
     b = int(D) % 100
     c = int(D) % 400
     if ( a==0 and b !=0 and M==2 ) or (c==0 and M==2):
     	print('本月29天')
     elif (M==2):
     	print('本月28天')
     elif (M==1 or M==3 or M== 5 or M==7 or M==8 or M==10 or M==12):
     	print('本月31天')
     else:
     	print('本月30天')
    

在这里插入图片描述

2.根据用于指定月份,打印该月份所属的季节。
提示: 3,4,5 春季 6,7,8 夏季 9,10,11 秋季 12, 1, 2 冬季。

		m = int(input('请输入想要指定的月份:'))
		if m == 3 or m == 4 or m == 5:
			print('春季')
		elif m==6 or m==7 or m==8:
			print('夏季')
		elif m==9 or m==10 or m==11:
			print('秋季')
		else:
			print('冬季')

在这里插入图片描述

循环练习

输入俩个数,显示出他们的最小公倍数和最大公约数。
最小公倍数=(num1*num2)/最大公约数。

		num1 = int(input('Num1:'))
		num2 = int(input('Num2:'))
		min_num = min(num1, num2)		##最大公约数肯定小于俩个数中最小的一个数
		for i in range(1, min_num + 1):
			if num1 % i == 0 and num2 % i == 0:
    				a = i
		b = int(num1*num2/a)
		print('%s和%s的最大公约数是:%s' %(num1,num2,a))
		print('%s和%s的最小公倍数是:%s' %(num1,num2,b))

在这里插入图片描述

字符串的练习

  1. 给定一个句子(只包含字母和空格), 将句子中的单词位置反转,
    单词用空格分割, 单词之间只有一个空格,前>后没有空格。
    比如: (1) “hello xiao mi”-> “mi xiao hello”

     	  s = input('请输入句子:')
     	  print(' '.join(s.split()[::-1]))
     		先将 s 以空格分离,后反转,再以空格连接
    

在这里插入图片描述

变量名定义是否合法:
1.变量名可以由字母 数字 下划线组成
2.变量名只能以字母或者下划线开头

	s = input('变量名:')
	if s[0].isalpha() or s[0] == '_':
    		for i in s[1:]:
      			if not (i.isalnum() or i == '_'):
          				print('%s变量名不合法' %(s))
          				break
    			else:
        				print('%s变量名合法' %(s))
	else:
    		print('%s变量名不合法' %(s))

测试:
在这里插入图片描述
在这里插入图片描述

综合练习

  1. 设计一个程序,帮助小学生练习10以内的加法
    随机生成加法题目
    学生查看题目并输入答案
    判别学生答题是否正确
    退出时, 统计学生答题总数,正确数量及正确率(保留两位小数点)

     	import random
     	i = 0			### i 记录错题
     	j = 0			### j 记录正确的题
     	while True:					###  永久循环,可以一直做题
     		NUM1 = random.randint(1,10)			### 取随机数字
     		NUM2 = random.randint(1,10)
     		answer = input('题目:%d+%d=' %(NUM1,NUM2))
     		if answer == 'exit':
     				break
     		elif answer != str(NUM1+NUM2):		
     	## 使用str是因为Input的类型为字符串型,不能更改为Int型,因为还包含exit
     				i += 1
     				print('回答错误!')
     		else:
     				j += 1
     				print('回答正确!')
     	per = j/(i+j)
     	print('答题总数为%d' %(i+j))
     	print('正确数量:%d' %(j))
     	print('正确率为%.2f%%' %(per * 100))
    

测试:
在这里插入图片描述

  1. 设计一个程序,用来实现帮助小学生进行百以内的算术练习
    它具有以下功能:提供10道加、减、乘或除四种基本算术运算的题目
    练习者根据显示的题目输入自己的答案
    程序自动判断输入的答案是否正确并显示出相应的信息。

     import random
     count = 0
     right = 0
     op = ['+','-','*','/']
     for i in range(0,10):
     		a = random.randint(0,99)
     		b = random.randint(0,99)
     		s = random.choice(op)
     		print('题目为:%d%s%d=' %(a,s,b))
     		answer = input('请输入答案(exit退出答题):')
     		if s == '+':
     			result = a+b
     		elif s == '-':
     			result = a-b
     		elif s == '*':
     			result = a*b
     		else:
     			result = a/b
     		if answer == 'exit':
     			break
     		elif answer == str(result):
     			print('答案正确')
     			right += 1
     			count += 1
     		else:
     			count += 1
     			print('答案错误')
     per = right / count
     print('答题总数为%d' %(count))
     print('正确数量:%d' %(right))
     print('争取率为:%.2f%%' %(per))
    

测试:
在这里插入图片描述

列表的练习

1.乘法表的四种排列方式

	for i in range(1,10):
			for I in range(1,i+1):
    				print('%d * %d = %d\t' %(i,I,i * I),end='')
			print('')

在这里插入图片描述

	for i in range(1,10):
    	for a in range(1,i):
	    	print(end="            ")				### 十二个空格
		for I in range(i,10):
    		print('%d * %d = %d\t' %(i,I,i * I),end='')
	print('')

在这里插入图片描述

	for i in range(1,10):
			for I in range(i,10):
    			print('%d * %d = %d\t' %(i,I,i * I),end='')
	print('')

在这里插入图片描述

	for i in range(1,10):
			for a in range(1,10-i):
    				print(end="            ")			###十二个空格
			for I in range(1,i+1):
    				print('%d * %d = %d\t' %(i,I,i * I),end='')
	print('')

在这里插入图片描述

2.输入某年某月某日(yyyy-MM-dd),
判断这一天是这一年的第几天

		cal = input('请输入日期 yyyy-MM-dd: ')
		date = cal.split('-') 
		year = int(date[0])
		month = int(date[1])			###需要拆分日期考虑闰年及2月的特殊情况
		day = int(date[2])
		arr = [0,31,28,31,30,31,30,31,31,30,31,30,31]
		num = 0
		if ((year % 4 ==0) and (year % 100 !=0) or (year % 400 ==0)):
				arr[2] = 29
		for i in range(1,len(arr)):
				if month > i:
    				num += arr[i]
				else:
    				num += day
    				break
		print('在这一年中的天数:',num)

测试:在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python练习.ipynb文件是Jupyter Notebook格式的文件,用于进行Python编程的练习和学习。 在这个文件中,我们可以通过编写Python代码单元格来执行各种Python语句和程序。通过交互式的方式,我们可以直接在代码单元格中编写代码,并立即执行并查看结果。这种方式非常适合学习Python语法和调试代码。 Python练习.ipynb文件通常包含一系列的练习题目,每个题目都有对应的编程代码单元格和问题描述单元格。我们可以按照题目的要求在代码单元格中编写代码,并在问题描述单元格中查看题目的具体要求和提示。 这种交互式的编程方式使得Python练习更加灵活和高效。我们可以逐步地编写和调试代码,在每一个代码单元格中检查输出结果,并进行必要的修改和改进。同时,我们也可以在练习过程中随时查阅相关的文档和资料,帮助我们理解和解决问题。 通过完成Python练习.ipynb文件中的练习题目,我们可以提高我们的Python编程技能和解决问题的能力。随着练习的深入,我们可以逐渐掌握Python的各种语法和常见的算法和数据结构,为今后的编程工作和项目开发打下良好的基础。 总之,Python练习.ipynb文件是一个非常有用的学习工具,它可以帮助我们通过实践和交互的方式来学习和练习Python编程。通过不断地练习和挑战自己,我们可以提高自己的编程技能,并在日后的工作和学习中得到更大的发展和成功。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值