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整除的数字之和,并将求得的和直接输出。

例如:用户依次输入的数字为519,因为519之间所有能被3整除或5整除的数字有56910121518,故输出的结果为:75

编程完成后,按如下要求输入数据,并填写运行结果(结果直接写数字,不要使用引号、 空格等内容修饰),输出结果直接复制粘贴到空内即可:

① 设依次输入的数据是1530,则输出的结果为(180)

② 如果输入的是333123462,则输出的结果为(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,从124之间所有能被3整除,不能被7整除的数字有36912151824,共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()

 

posted @ 2023-08-21 00:28  java帝国  阅读(136)  评论(0)    收藏  举报