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: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) “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))
测试:
综合练习
-
设计一个程序,帮助小学生练习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))
测试:
-
设计一个程序,用来实现帮助小学生进行百以内的算术练习
它具有以下功能:提供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)
测试: