python程序练习【乡村培育站暑期学习】
一、编写程序实现功能如下:
1.使用int(input())接收用户输入的一个整数型数据,这个数据表示总人数;
2. 按25个人为一整队方式组队,求解输入的总人数可以组成多少个整队,以及组完整队后后,还剩几个人,将结果使用 print 函数输出。
示例1:用户输入的数据53,输出的结果为:整队2队,剩3人。
示例2:用户输入的数据50,输出的结果为:整队2队,剩 0人。
编程完成后,按如下要求输入数据,并填写运行结果,结果直接写数字,不要使用引号、号空格等内容修饰:
① 设输入的是75,输出的结果为:整队(3)队,剩(0) 人。
② 设输入的是86,输出的结果为:整队(3)队,剩(11) 人。
③ 设输入的是321234567890,输出结果为:整队(12849382715)队,剩(15) 人。1 #coding:utf-8
2 num = int(input("请输入总人数:"))
3 a = num // 25 #"//"取两个数相除的商(整数)
4 b = num % 25 #"%"取两个数相除的余数
5 print("整队({})队,剩({}) 人".format(a, b))
输入:51
执行结果:整队(2)队,剩(1) 人
二、编写程序实现如下功能:
程序使用两个 int(input())按顺序接收用户输入的两个正整数作为输入数据(要求输入第一个数值小于第二个数值);
求解从用户输入的第一个数字(包括这个数字)到第二个数字之间(包括这个数字)所有能被3整除或5整除的数字之和,并将求得的和直接输出。
例如:用户依次输入的数字为5和19,因为5到19之间所有能被3整除或5整除的数字有5、6、9、10、12、15、18,故输出的结果为:75
编程完成后,按如下要求输入数据,并填写运行结果(结果直接写数字,不要使用引号、 空格等内容修饰),输出结果直接复制粘贴到空内即可:
① 设依次输入的数据是15和30,则输出的结果为(180)。
② 如果输入的是333和123462,则输出的结果为(3556754145)。
1 while True:
2 num_a = int(input("请输入第一个数:"))
3 num_b = int(input("请输入第二个数:"))
4 if num_a <num_b:
5 break #终止循环
6 else:
7 continue #结束本次循环,开始执行下一次循环
8 sum = 0
9 for item in range(num_a, num_b + 1):
10 if(item%3 == 0 or item%5 == 0):
11 sum += item
12 print("输入的两个数({})和({}),结果是({})".format(num_a, num_b , sum))
执行结果:
请输入第一个数:5
请输入第二个数:19
输入的两个数(5)和(19),结果是(75)
三、编写程序实现如下功能:
描述:
1.接收用户输入的数据:
2.当用户输入的是“一”“二”、“三”、“四”、“五”中的任意一个汉字时,输出“工作日”,
3.当用户输入的是“六”、“七”、“日”中的任意一个汉字时,输出“休息日”;
4.当用户输入其他内容时,输出“输入错误”。
注:input()函数中不要增加任何参数等提示信息。
1 #coding:utf-8
2 day = input("请输入星期:")
3 if ((day == "一") or (day == "二") or (day == "三") or (day == "四") or (day == "五")):
4 print("工作日")
5 elif ((day == "六") or (day == "七") or (day == "日")):
6 print("休息日")
7 else:
8 print("输入错误")
输入:一
输出:工作日
四、编写程序实现以下功能:
1.程序使用int(input())接收一个正整数作为输入数据;
2.求解从1到这个输入的正整数之间(包括这个正整数)所有能被3整除,不能被7整除的数字个数,并将此个数数值直接输出。
例如:输入24,从1到24之间所有能被3整除,不能被7整除的数字有3、6、9、12、15、 18、24,共7个,输出的结果是:7
编程完成后,按下面要求输入数据,并填写运行结果,直接写数字,不要使用引号、空格等等内容修饰,输出的结果直接复制粘贴到空内即可。
1输入的是42,输出的结果是(12)。
2输入的是1234629,输出的结果是(352752)。
1 #coding:utf-8
2 while True:
3 num = int(input("请输入一个整数:"))
4 if num >= 3:
5 break
6 else:
7 continue
8 count = 0
9 for item in range(1, num + 1):
10 if (item%3 == 0 and item%7 != 0):
11 count += 1
12 print("输入的数({}),输出的结果是({})".format(num, count))
请输入一个整数:1234629
输入的数(1234629),输出的结果是(352752)
五、编写一个彩票游戏:随机生成一个不重复的五位数作为彩票号,游戏提示用户输入一个五位整数,然后根据下面的规则判断用户是否能赢得奖金,最后要求输出彩票号和奖金。
(1) 若用户输入的数字和彩票的数字完全匹配,包括数字顺序,则奖金是10000元。
(2) 不考虑顺序,若用户输入的数字中一个匹配彩票数字的一个数,则奖金是1000元,若是两个数字,则2000元,则以此累加。
(3) 若全部不匹配,则奖金是0元。
提示:
(1) 程序随机生成一个五位数,其五个数字均不重复(random.py中代码可以实现此功能)
(2) input()函数中参数为“输入号:”
(3) 输出格式为:彩票号:***** 奖金:****元
1 #coding:utf-8
2 import random
3 list_m = []
4 for i in range(10):
5 list_m.append(str(i)) #追加列表元素类型为字符串型
6 caipiao_u = random.sample(list_m, 5) #从列表中抽取若干元素,并以列表的形式返回
7 caipiao = "".join(caipiao_u)
8 money = 0
9 my_num_in = input("输入你的号码:")
10 my_num_set = set(my_num_in) #将字符串转化成集合,实现元素的去重,并且集合元素随机排列
11 my_num = "".join(my_num_set)
12 if (caipiao == my_num_in):
13 money = 10000
14 else:
15 for item in my_num:
16 if (item in caipiao):
17 money += 1000
18 print("彩票号:{},奖金:{}".format(caipiao, money))
输入:输入你的号码:98412
执行结果:彩票号:36984,奖金:3000
六、编写程序实现以下功能:
判断一个数是否为素数。
1 #coding:utf-8
2 def isPrime(n):
3 boolean = False
4 for item in range(2, n):
5 if (n%item != 0):
6 continue
7 else:
8 boolean = True
9 break
10 return boolean
11 def main():
12 number = int(input("请输入一个大于0数:"))
13 if number == 1:
14 print("{}不是素数".format(number))
15 else:
16 if isPrime(number):
17 print("{}不是素数".format(number))
18 else:
19 print("{}是素数".format(number))
20 if __name__ == "__main__":
21 main()
请输入一个大于0数:5
5是素数
七、编写程序实现以下功能:
求两个正整数最大公约数和最小公倍数。
1 #辗转相除定义函数最大公因数
2 def gcd_f(m, n):
3 if (m<n):
4 n, m = m, n
5 while(m%n != 0):
6 t = m%n
7 m = n
8 n = t
9 return n
10 #递归调用定义函数最大公因数
11 def gcd_r(m, n):
12 if (m < n):
13 n, m = m, n
14 if m%n == 0: #递归的终止条件
15 return n
16 else:
17 t = m%n
18 m = n
19 n = t
20 return gcd_r(m, n) #自己调用自己,并修改传递参数的内容
21 #定义函数最小公倍数
22 def lcm_f(m, n):
23 return m*n // gcd_f(m,n) #调用求最大公因数函数
24 def main():
25 num_a = int(input("请输入第一个数:"))
26 num_b = int(input("请输入第二个数:"))
27 print("{}和{}最大共因数数:{}".format(num_a, num_b, gcd_f(num_a, num_b)))
28 print("{}和{}最大共因数数:{}".format(num_a, num_b, gcd_r(num_a, num_b)))
29 print("{}和{}最小公倍数:{}".format(num_a, num_b, lcm_f(num_a, num_b)))
30 if __name__ == "__main__":
31 main()

浙公网安备 33010602011771号