第一题 输入一个数,判断它是否能被3或5或7整除
number = input("请输入数:")
number= int(number)
if number % 3 == 0:
print("此数能被3整除")
else:
print("此数无法被3整除")
if number % 7 == 0:
print("此数能被7整除")
else:
print("此数无法被7整除")
if number % 5 == 0:
print("此数能被5整除")
else:
print("此数无法被5整除")
第二题 打印某年某月有多少天。
number1 = int(input("请输入年:"))
number2 = int(input("请输入月:"))
if number2 == 1 or number2 == 3 or number2 == 5 or number2 == 7 or number2 == 8 or number2 == 10 or number2 == 12:
print("该月有31天")
elif number2 == 4 or number2 == 6 or number2 == 9 or number2 == 11: #number2 in (4,6,9,11):
print("该月有30天")
elif number1 % 4 == 0 and number1 % 100 !=0 and number2 == 2:
print("该月有29天")
else:
print("该月有28天")
第三题 做学院评奖系统
- 1)如果数学成绩大于80分并且语文成绩大于80分,获奖学金500元。
- 2)如果数学小于30并且语文小于30分,输出重修
math = input("请输入数学成绩:")
chinese = input("请输入语文成绩:")
math= int(math)
chinese= int(chinese)
if math >= 0 and math <= 100 and chinese >= 0 and chinese <= 100:
if math > 80 and chinese > 80:
print("获得奖学金500元")
elif math < 30 and chinese < 30:
print("重修")
else:
print("输入的成绩无效")
第四题 定义一个字符,判断是否为字母。
str_1 = "ABC"
print(str_1.isalpha())
延伸:
str.isalnum() 所有字符都是数字或者字母
str.isalpha() 所有字符都是字母
str.isdigit() 所有字符都是数字
str.islower() 所有字符都是小写
str.isupper() 所有字符都是大写
str.istitle() 所有单词都是首字母大写,像标题
str.isspace() 所有字符都是空白字符、\t、\n、\r
第五题 定义一个整数,计算其平方值和立方值
number = int(input("请输入一个整数"))
print(pow(number , 2))
print(pow(number , 3))
第六题 定义一个大 写字母,把它转换为小写字母后显示出来
str = "ABC"
print(str.lower())
第七题 定义三个数,求出其中的最大值
第一种:
a = 10
b = 20
c = 35
d = a if a>b else b
e = d if d>c else c
print(e)
第二种:
a = 10
b = 20
c = 35
print(max(max(a,b),c))
第八题 打印九九乘法表
for i in range(1,10):
for j in range(1,i+1):
print(j,"*",i,"=",j*i," ",end="") #end="" 不换行
print()
第九题 打印菱形
for hang in range(1,10):
if hang <= 5:
for j in range(1,5-hang+1):
print(" ",end="")
for i in range(1,2*hang):
print("*",end="")
else:
for j in range(1,hang-5+1):
print(" ",end="")
for i in range(1,19-2*hang+1):
print("*",end="")
print()
ps:此类题主要考虑出当前行数,空白数,星星个数及总行数关系即可解出
第十题 百钱买百鸡 100 买100只,公鸡5,母鸡3,小鸡1元三个(最多两层循环)
for small in range(0,100,3):
for m in range(20):
if 5*m + 3*(100 - m - small)+small/3 == 100 and (100 - m - small) > 0:
print(m,100 - m - small,small)
第十一题 找出一个数的所有因子数
i = 1
num = int(input("请输入一个数"))
while i <= num:
j = num
while j >= i:
if i * j == num:
print(i,",",j)
j -= 1
i += 1
第十二题 定义一个正整数如:1205 统计它的各位数字中零的个数,并求各位数字中的最大者
num = int(input("请输入一个整数"))
a = len(str(num))
sum = 0
temp = 0 #temp用来存最大数
for i in range(0,a):
b = num // 10**i % 10 #从末位开始取各个位的数
if b == 0:
sum += 1
if b > temp:
temp = b
print(sum)
print(temp)
第十三题 有1020个西瓜,第一天卖掉总数的一半后又多卖出两个,以后每天卖剩下的一半多两个,问几天以后能卖完
num = 1020
day = 0
while num > 0:
num = num/2 - 2
day += 1
print(day)
第十四题 循环录入Java课的学生成绩,统计分数大于等于 80分的学生比例(使用continue)
sum = 0
a = 0
while True:
grade = int(input("请输入学生的成绩"))
a = a + 1
if grade < 80:
print(sum / a)
continue
else:
sum = sum + 1
print(sum/a)
第十五题 斐波那契数列(兔子繁殖问题)
eg:1,1,2,3,5,8,13,21…
month = 3
f1 = 1
f2 = 1
while month <= 12:
temp = f1 + f2
f1 = f2
f2 = temp
print("月份:",month,"兔子对数",f2)
month += 1
第十六题 从控制台输入一个正整数,并进行反转输出
第一种:
num = int(input("请输入一个整数"))
a = len(str(num))
sum = 0
for i in range(0,a):
b = num // 10**i % 10
sum = sum + b*10**(a-i-1)
print(sum)
第二种:
a = input("请输入一个整数:")
print(a [::-1]) #-2则为反着跳动2两位输出
第十七题 排序列表
第一种:
a = [9,5,8,7,4,6,3,1,2,0]
a.sort() #将原来a list 中的数据删除,换成排序后list
print(a)
第二种:
a = [9,5,8,7,4,6,3,1,2,0]
b = sorted(a) #不将原来a list 中的数据删除,排序后list赋值给b
print(b)