7-1 身体质量指数
(高教社,《Python编程基础及应用》习题6-3)
身体质量指数(英文为Body Mass Index,简称BMI),其值为体重除以身高的平方。体重单位为千克,身高 单位为米。BMI是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。下面是16岁以上人群的BMI图 表:
BMI 解释
BMI<18 超轻
18<=BMI<25 标准
25<=BMI<27 超重
27<=BMI 肥胖
编写一个程序,输入用户的体重(Kg)和身高(米),显示其BMI值,并作出解释性评价。
输入格式:
体重,身高
输出格式:
超轻/标准/超重/肥胖之一。
输入样例:
70,1.75
输出样例:
标准
a =list(map(float,input().split(",")))
s = a[0]/(a[1]*a[1])
if s<18:
print("超轻")
elif s>=18 and s<25:
print("标准")
elif s>=25 and s<27:
print("超重")
else:
print("肥胖")
7-2 计算分段函数f(x)的值
计算下列分段函数f(x)的值:
输入格式:
输入在一行中给出实数x。
输出格式:
在一行中按“f(x)=result”的格式输出,其中result都保留三位小数(提示:使用.format()函数)。
输入样例1:
12.34
输出样例1:
f(12.34)=0.081
输入样例2:
0
输出样例2:
f(0.0)=0.000
x = float(input())
if x==0 :
print(f"f({x})=0.000",end="")
else:
b=1/x
print(f"f({x})=%.3f" % b,end="")
7-3 程序员买西瓜
老婆给当程序员的老公打电话:“下班顺路买10个包子带回来,如果看到卖西瓜的,就买1个。” 当晚,程序员老公手捧一个包子进了家门… 老婆怒道:“你怎么就买了一个包子?!” 老公答曰:“因为看到卖西瓜的。”。 用’Y’表示看到卖西瓜的,用’N’表示没有看到卖西瓜的,用编写一个程序判断今天程序员买了多少个包子. 如果输入的既不是’Y’也不是’N’,则输出:‘error’
输入格式:
在一行中输入Y或者N表示是否看到卖西瓜的。
输出格式:
对每一组输入,在一行中输出程序员购买的包子的数量或者’error’。
输入样例:
在这里给出一组输入。例如:
Y
输出样例:
在这里给出相应的输出。例如:
1
输入样例:
在这里给出一组输入。例如:
N
输出样例:
在这里给出相应的输出。例如:
10
输入样例:
在这里给出一组输入。例如:
x
输出样例:
在这里给出相应的输出。例如:
error
a = input()
if a=='Y':
print("1")
elif a=='N':
print("10")
else:
print("error")
7-4 超速处罚[加测试数据]
按照规定,在高速公路上行使的机动车,达到或超出本车道限速的10%则处200元罚款;若达到或超出50%,就要吊销驾驶证。请编写程序根据车速和限速自动判别对该机动车的处理。
输入格式:
输入在一行中给出2个正整数,分别对应车速和限速,其间以空格分隔。
输出格式:
在一行中输出处理意见:若属于正常行驶,则输出“OK”;若应处罚款,则输出“Exceed x%. Ticket 200”;若应吊销驾驶证,则输出“Exceed x%. License Revoked”。其中x是超速的百分比,精确到整数。
输入样例1:
65 60
输出样例1:
OK
输入样例2:
110 100
输出样例2:
Exceed 10%. Ticket 200
输入样例3:
200 120
输出样例3:
Exceed 67%. License Revoked
b,a= list(map(int,input().split(" ")))
if b>=a+a*0.5:
x=(b-a)/a*100
y="%.0f" % x
print(f"Exceed {y}%. License Revoked")
elif b>=a+a*0.1 and b<a+a*0.5:
x=(b-a)/a*100
y = "%.0f" % x
print(f"Exceed {y}%. Ticket 200")
else:
print("OK")
7-5 数据比较
实现一个程序,用户输入四个数值(整数或浮点数)。先计算前三个数的平均值,然后把平均值与第四个数进行比较。如果相等,则程序在屏幕上输出“Equal”,如果平均值大于第四个数则输出“Larger”,否则输出“Smaller”。
输入格式:
输入四个数值
输出格式:
输出“Equal”或“Larger”或“Smaller”
输入样例:
在这里给出一组输入。例如:
4.5
3
3
3.5
输出样例:
在这里给出相应的输出。例如:
Equal
a = float(input())
b = float(input())
c = float(input())
d = float(input())
e = (a+b+c)/3
if d==e:
print("Equal")
elif e>d:
print("Larger")
else:
print("Smaller")
7-6 运输打折问题
某运输公司对用户计算运费。路程(S)越远,每公里运费越低。标准如下:
其中基本运输费用为每吨每公里1元,现请你帮助该运输公司设计自动计费程序,帮助会计人员计算运输费用。
输入格式:
输入每次运输的载重(吨)、里程(公里)。
输出格式:
输出其运输费用,精确到元。
输入样例:
在这里给出一组输入。例如:
1 200
输出样例:
在这里给出相应的输出。例如:
200
输入样例:
在这里给出一组输入。例如:
10 2500
输出样例:
在这里给出相应的输出。例如:
22500
t,s= list(map(eval,input().split(" ")))
if s<250:
a=s*t
print("%.0f" % a )
elif s>=250 and s<500:
a=s*t-s*t*0.02
print("%.0f" % a)
elif s>=500 and s<1000:
a=s*t-s*t*0.05
print("%.0f" % a)
elif s>=1000 and s<2000:
a= s*t-s*t*0.08
print("%.0f" % a)
elif s>=2000 and s<3000:
a=s*t-s*t*0.1
print("%d" % a)
elif s>=3000:
a = s*t-s*t*0.15
print("%.0f" % a)
7-7 jmu-python-回文数判断(5位数字)
本题目要求输入一个5位自然数n,如果n的各位数字反向排列所得的自然数与n相等,则输出‘yes’,否则输出‘no’。
输入格式:
13531
输出格式:
yes
输入样例1:
13531
输出样例1:
yes
输入样例2:
13530
输出样例2:
no
n = input()
if n==n[::-1]:
print("yes")
else:
print("no")
7-8 jmu-python-分段函数
本题目要求计算下列分段函数f(x)的值(x为从键盘输入的一个任意实数):
输入格式:
输入在一行中给出实数 x。
输出格式:
在一行中按“f(x)=result”的格式输出,其中x与result都保留两位小数。
输入样例:
0.76
输出样例:
f(0.76)=1.20
x=eval(input())
if x<3:
x="%.2f" % x
print(f"f({x})=1.20")
elif x==3:
x = "%.2f" % x
print(f"f({x})=10.00")
else:
a="%.2f" % (2*x+1)
x = "%.2f" % x
print(f"f({x})="+a)
7-9 jmu-python-凯撒密码加密算法
编写一个凯撒密码加密程序,接收用户输入的文本和密钥k,对明文中的字母a-z和字母A-Z替换为其后第k个字母。
输入格式:
接收两行输入,第一行为待加密的明文,第二行为密钥k。
输出格式:
输出加密后的密文。
输入样例:
在这里给出一组输入。例如:
Hello World!
3
输出样例:
在这里给出相应的输出。例如:
Khoor Zruog!
a = input()
b = int(input())
c = ''
for i in a:
if i.isalpha():
temp = ord(i)+b
if chr(temp).isalpha():
c += chr(temp)
else:
c += chr(temp-26)
else:
c += i
print(c,end="")
7-10 奖金计算,循环与多分支
(高教社,《Python编程基础及应用》习题6-5)
企业发放的奖金根据利润提成。利润低于或等于100,000元的,奖金可提10%;利润高于100,000元,低于200,000(100,000 < p <=200,000)时,100,000元及以内部分按10%提成,高于100,000元的部分,可提成7.5%; 200,000 < p <= 400,000时,200,000元及其以内的部分仍按上述办法提成(下同),高于200,000元的部分按5%提成; 400,000 < p <=600,000元时,高于400,000元的部分按3%提成; 600,000 < p <=1,000,000时,高于600,000元的部分按1.5%提成; p >1,000,000时,超过1,000,000元的部分按1%提成。 按上述需求,编写一个程序,该程序从键盘输入当月利润p,求应发奖金数。
输入格式:
利润总额(浮点数)
输出格式:
奖金数(保留两位小数)
输入样例:
230000
输出样例:
19000.00
a = float(input())
if a<=100000:
b=a*0.1
elif a>100000 and a<=200000:
b=100000*0.1+(a-100000)*0.075
elif a>200000 and a<=400000:
b=100000*0.1+100000*0.075+(a-200000)*0.05
elif a>400000 and a<=600000:
b=100000*0.1+100000*0.075+200000*0.05+(a-400000)*0.03
elif a>600000 and a<=1000000:
b=100000*0.1+100000*0.075+200000*0.05+200000*0.03+(a-600000)*0.015
elif a>1000000:
b=100000*0.1+100000*0.075+200000*0.05+200000*0.03+400000*0.015+(a-1000000)*0.01
print("%.2f" % b)
7-11 查找最后一个250
对方不想和你说话,并向你扔了一串数…… 而你必须从这一串数字中找到“250”这个高大上的感人数字。
输入格式:
输入在一行中给出不知道多少个绝对值不超过1000的整数。
输出格式:
在一行中输出最后一次出现的“250”是对方扔过来的第几个数字(计数从1开始)。如果没有出现“250”这个数,输出为0。
输入样例:
888 666 123 -233 250 13 250 -222
输出样例:
7
a = map(int,input().split(" "))
b=1
c=0
for i in a :
if i==250:
c=b
b=b+1
else:
b=b+1
print(c)
7-12 某日期为年度第多少天
输入任意“年-月-日”格式的日期,输出这是该年度的第多少天。
输入格式:
输入任意“年-月-日”格式的日期。
输出格式:
输出这个日期是该年度的第多少天。
输入样例:
在这里给出一组输入。例如:
2020-11-11
输出样例:
在这里给出相应的输出。例如:
dayofyear = 315
# a=input().split("-")
# d=[]
# for i in a:
# d.append(int(i))
# b=[1,3,5,7,8,10,12]
# c=[4,6,9,11]
# s=[2]
# sum=0
# if (d[0]%4==0 and d[0]%100!=0) or d[0]%400==0:
# for i in range(1,d[1]):
# if i in b:
# sum=sum+31
# elif i in c:
# sum=sum+30
# elif i in s:
# sum=sum+29
# else:
# for i in range(1,d[1]):
# if i in b:
# sum=sum+31
# elif i in c:
# sum=sum+30
# elif i in s:
# sum=sum+28
# print("dayofyear =",sum+d[2]-1,end="")
#以上代码判断了闰年,此题没有那么详细,所以要用下面的代码才能完成PTA测试
days = 0
y = input().split('-')
for i in range(1, int(y[1])):
if i == 2 : #判断闰年
days += 28
elif i in [1, 3, 5, 7, 8, 10, 12]:
days += 31
else:
days += 30
print('dayofyear =', days+int(y[2]),end='')
7-13 打印数字实心矩形
打印数字和星号组成的实心矩形,外框是数字,内部是星号。
输入格式:
输入一个整数n(n>0)。
输出格式:
打印一个数字矩形,矩形的边框都是整数n,要求行和列都是n个数字。(注意:没有空行)而矩形内部都是星号。
输入样例:
在这里给出一组输入。例如:
5
输出样例:
在这里给出相应的输出。例如:
55555
5***5
5***5
5***5
55555
输入样例2:
在这里给出一组输入。例如:
2
输出样例2:
在这里给出相应的输出。例如:
22
22
输入样例3:
在这里给出一组输入。例如:
1
输出样例3:
在这里给出相应的输出。例如:
1
n = int(input())
for i in range(1, n+1):
for j in range(1, n+1):
if i > 1 and i < n and j >1 and j < n:
print('*',end='')
else:
print(n, end='')
if i != n:
print()
7-14 判断素数
判断一个给定的正整数是否素数
输入格式:
输入在第一行给出一个正整数N(≤ 10),随后N行,每行给出一个小于1000000 的需要判断的正整数
输出格式:
对每个需要判断的正整数,如果它是素数,则在一行中输出Yes,否则输出No
输入样例:
在这里给出一组输入。例如:
2
11
111
输出样例:
在这里给出相应的输出。例如:
Yes
No
a=int(input())
b=1
d=[]
x=0
while b<=a:
c=int(input())
d.append(c)
b=b+1
for i in d:
for j in range(2,i-1):
if i%j==0:
x=x+1
else:
continue
if x!=0:
print("No")
else:
print("Yes")
7-15 水仙花数(20 分)
水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。 例如:153=1×1×1+5×5×5+3×3×3。
本题要求编写程序,计算所有N位水仙花数。
输入格式:
输入在一行中给出一个正整数N(3≤N≤5)
输出格式:
按递增顺序输出所有N位水仙花数,每个数字占一行。
输入样例:
在这里给出一组输入。例如:
3
输出样例:
在这里给出相应的输出。例如:
153
370
371
407
import math
n=int(input())
for i in range(int(math.pow(10,n-1)),int(math.pow(10,n))): #pow() 方法返回 xy(x 的 y 次方) 的值。
sum=0
j=i
while(j>=1):
sum=sum+math.pow(j%10,n)
j=j//10
if(sum==i):
print('{:d}'.format(i))
7-16 求满足条件的斐波那契数
斐波那契数,亦称之为斐波那契数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……,这个数列从第3项开始,每一项都等于前两项之和。求大于输入数的最小斐波那契数。
输入格式:
在一行输人一个正整数n(n>=10)。
输出格式:
在一行输出大于n的最小斐波那契数。
输入样例:
在这里给出一组输入。例如:
10
输出样例:
在这里给出相应的输出。例如:
13
a=1
b=1
c=int(input())
while 1:
d=a+b
a=b
b=d
if d>c:
break
else:
continue
print(d)
7-17 求前n项的阶乘之和
从键盘输入一个整数n,求前n项的阶乘之和,1+2!+3!+…+n!的和
输入格式:
输入一个大于1的整数。例如:输入20。
输出格式:
输出一个整数。例如:2561327494111820313。
输入样例:
在这里给出一组输入。例如:
20
输出样例:
在这里给出相应的输出。例如:
2561327494111820313
a=int(input())
sum=0
b=1
for i in range(1,a+1):
b=b*i
sum=sum+b
print(sum)
7-18 偶数位特殊序列和
给定不超过9的正整数a,给定正整数n,n是偶数,4<=n<=18,要求编写程序求aa+aaaa+aaaaaa+⋯+aa⋯a(n个a)之和。
输入格式:
在一行中给出不超过9的正整数a和n。
输出格式:
在一行中输出对应的和。
输入样例:
在这里给出一组输入。例如:
1 4
输出样例:
在这里给出相应的输出。例如:
1122
a,n=map(int,input().split(" "))
sum=0
b=a
for i in range(1,n):
a=a*10+b
if i%2!=0:
sum=sum+a
else:
continue
print(sum)
7-19 判断完数
判断一个正整数是否为完数。完数定义:一个数的所有因子(包括1)之和等于它自身,这个数就是完数。比如6=1+2+3,6是完数。
输入格式:
例如:输入一个正整数 6
输出格式:
输出:
6=1+2+3
输入样例:
在这里给出一组输入。例如:
6
输出样例:
在这里给出相应的输出。例如:
6=1+2+3
输入样例:
在这里给出一组输入。例如:
28
输出样例:
在这里给出相应的输出。例如:
28=1+2+4+7+14
a=int(input())
b=[]
sum=0
x=0
for i in range(1,a):
if a%i==0:
sum=sum+i
b.append(int(i))
else:
continue
if sum==a:
print(f"{a}=",end="")
for i in b:
if x< (len(b)-1):
print(f"{i}",end="+")
x=x+1
else:
print(f"{i}")
7-20 成绩统计
现有某班级Python考试成绩,请你帮老师做一下成绩统计,找出最高分、最低分,算出平均分,统计出不及格人数。
输入格式:
输入在第一行给出班级人数n,第二行为n个学生的成绩(0~100之间的整数),中间用空格分隔。
输出格式:
输出共四行,分别为最高分、最低分、平均分和不及格人数,其中平均分保留1位小数。
输入样例:
10
80 95 75 85 90 55 66 88 100 58
输出样例:
Max: 100
Min: 55
Ave: 79.2
Fail: 2
import math
n = eval(input())
lis = list((input().split()))
for i in range(len(lis)):
lis[i] = int(lis[i])
print("Max: "+str(max(lis)))
print("Min: "+str(min(lis)))
sum = 0
fail = 0
for i in range(0,n):
if(lis[i] < 60):
fail += 1
sum += lis[i]
print("Ave: "+str(format(sum/n,'.1f')))
print("Fail: "+str(fail))
#以上代码有点不严谨,当n=3时,你输入5个也是没有问题的,并且最大值、最小值都会从输入的所有的数中选出,只是求平均值时只会取前n个数的和。***不过在PTA中这段代码是可以运行通过的。***
7-21 求“厉害”数
所谓“厉害”数,是指其各位数字的5次方等于该数本身。编程输出所有长度不超过n位的正整数中的“厉害”数。 例如:4151=4
5
+1
5
+5
5
+1
5
输入格式:
一个整数n (1<=n<=6)
输出格式:
每行一个“厉害”数
输入样例:
4
输出样例:
1
4150
4151
a=int(input())
x=pow(10,a)+1
for i in range(1,x):
b=i
sum = 0
while b!=0:
c=b%10
d=pow(c,5)
sum=sum+d
b=b//10
if sum==i:
print(i)
7-22 显示菱形图形
显示菱形图形,每行的宽度是11。
输入格式:
输入显示的行数,行数在1,3,5,7,9,11中取值
输出格式:
菱形图形,每行的宽度是11
输入样例1:
在这里给出一组输入。例如:
5
输出样例1:
在这里给出相应的输出。例如:
输入样例2:
在这里给出一组输入。例如:
11
输出样例2:
在这里给出相应的输出。例如:
n=int(input())
num=int(n/2)
a=5
for i in range(0,num):
print(' '*(a-i-1),'*'*(i*2+1),' '*(a-i-1))
if num==5:
print('*'*11)
num=num-1
for i in range(num,-1,-1):
print(' '*(a-i-1),'*'*(i*2+1),' '*(a-i-1))
7-23 输出<=n的全部回文数 (高教社,《Python编程基础及应用》习题4-5)
数字121从左往右读与从右往左读是一样的,这种数称为回文数。请使用for循环以及切片方法设计一个程序, 找出>=0并且<=n的全部回文数。
注意:单个的数字0,数字1,… 数字9也认为是回文数。
输入格式:
n
输出格式:
多行输出,一行一个数
输入样例:
13
输出样例:
0
1
2
3
4
5
6
7
8
9
11
a=int(input())
for i in range(0,a+1):
b=i
d=[]
e=[]
if i==0:
print(i)
else:
while b>0:
c=b%10
d.append(c)
b=b//10
e=list(reversed(d))
if e==d:
print(i)
7-24 删除列表中的重复值(高教社,《Python编程基础及应用》习题4-8)
输入一个列表,删除其中的重复值,再输出。
要求
假设列表中存在k个值为a的元素,删除前k-1个元素,保留最后一个。 不同元素在列表中的相对位置不应被改变。
输入格式:
[元素1, 元素2, … , 元素n]
输出格式:
[元素1,元素2, … , 元素k]
输入样例:
[4,3,2,3,2,4,True]
输出样例:
[3, 2, 4, True]
提示:将形如"[1,3,5]"的字符串转换成列表可以使用eval()函数。 注意,输出格式应与输出样例一致,涉及空格,逗号等。
str=input()
l=eval(str)
ll=list(set(l))
d=[]
for i in range(len(l)):
if l[len(l)-1-i] in ll and not l[len(l)-1-i] in d:
d.append(l[len(l)-1-i])
if len(d)==len(ll):
break
d.reverse()
print(list(d))
7-25 输出摄氏-华氏温度转换表
输入2个正整数lower和upper(-20<=lower<=upper<=50),表示摄氏范围。请输出一张取值范围为[lower,upper]、 且每次增加2摄氏度的摄氏-华氏温度转换表。温度转换的计算公式: F=C×1.8+32 其中:C表示摄氏温度,F表示华氏温度。
输入格式:
在一行中输入2个整数,分别表示lower和upper的值,中间用空格分开。
输出格式:
第一行输出:“celsius□□□□fahr”
接着每行输出一个摄氏温度celsius(整数)与一个华氏温度fahr(占据14个字符宽度,靠右对齐,保留1位小数)。
若输入的范围不合法,则输出"Invalid."。
输入样例1:
在这里给出一组输入。例如:
2 9
输出样例1:
在这里给出相应的输出。例如:
celsius fahr
2 35.6
4 39.2
6 42.8
8 46.4
输入样例2:
在这里给出一组输入。例如:
2 51
输出样例2:
在这里给出相应的输出。例如:
Invalid.
n,m = input().split(" ")
n = eval(n)
m = eval(m)
a = 0
if n>m or n<-20 or m>50:
print("Invalid.",end="")
elif n<=m:
print("celsius fahr")
a = n
while a<=m :
if a==m or a==m-1:
print("%d %.1f" % (a, (a * 1.8 + 32)),end="")
a+=2
else:
print("%d %.1f" %(a,(a*1.8+32)))
a+=2
7-26 找出肇事者,循环与布尔逻辑(高教社,《Python编程基础及应用》习题6-6)
在视线不太好的黑夜一司机撞伤行人之后逃逸,有3个目击者记住了该车的部分车号特征。 甲说:“车牌号的前两位相同,且末位数是奇数”;乙说:“车牌号的后两位加起来等于5”; 丙说:“车牌号是一个N位数,并且能被3整除”。请你写一个程序,该程序接受一个正整数N(>=3), 找出肇事车可能的车牌号。
输入格式:
一个>=3的正整数
输出格式:
全部可能的车牌号(一行一个,按递增序)
输入样例:
3
输出样例:
441
a = int(input())
b = 10 ** (a-1)
for i in range(b, b*10):
one = i // b
two = i // (b / 10) % 10
end_one = i % 10
end_two = i // 10 % 10
if(one == two and end_one + end_two == 5 and i % 3 == 0 and end_one % 2 == 1):
print(i)
7-27 统计输入字符串中的单词个数及单词的平均长度(高教社,《Python编程基础及应用》习题7-7)
编写一个程序,接受用户输入的一行英文句子(假设该句子仅由英文单词及空格构成,不包括逗号等符号),统计并输出该行句子包含的单词个数及单词的平均长度。
输入格式:
单词1 单词2 … 单词n
输出格式:
单词个数,单词平均长度(保留两位小数)
输入样例:
aaa bbb ccccccccccc
输出样例:
3,5.67
l = input().split(' ')
avg = float(0)
for i in l:
avg += len(i)
print(len(l), end=',')
print('%.2f'%(avg/len(l)))
7-28 输入半径(大于0),计算圆面积-math库
本题目要求输入半径(大于0),使用math库中的pi常量来计算圆面积。 注意:如果输入半径的数据不符合条件,则重复输入直到满足条件才进入后续的计算。
输入格式:
输入一个数。
输出格式:
半径为result1的圆的面积是result2
其中:
result1是半径
result2是圆面积,输出宽度为 10,保留5位小数
输入样例:
在这里给出一组输入。例如:
5
输出样例:
在这里给出相应的输出。例如:
半径为5的圆的面积是 78.53982
import math
while 1:
a = int(input())
if a>0:
break
b=a*a*math.pi
if b>=100 and b<1000:
print("半径为{}的圆的面积是 {:.5f}".format(a, b), end="")
elif b>1000 and b<10000:
print("半径为{}的圆的面积是{:.5f}".format(a, b), end="")
elif b<100:
print("半径为{}的圆的面积是 {:.5f}".format(a, b), end="")
7-29 班级排队
小杨是班里新高一的班长,班主任王老师给小杨布置了一个任务,要求将班 里男生和女生分别从矮到高排序,女生排在男生前面。
输入格式:
第一行输入一个正整数 n,表示班级的人数,1<=n<=5000。
第二行输入 n 个整数,表示班级每个人的身高,单位 cm。
第三行输入 n 个数,0 表示男生,1 表示女生。
输出格式:
排序后每个人的身高。
输入样例:
10
159 187 176 155 163 167 179 182 160 167
1 0 0 1 0 1 1 0 1 0
输出样例:
155 159 160 167 179 163 167 176 182 187
评测用例规模与约定
对于 20%的评测用例,1≤n≤10。 对于 50%的评测用例,1≤n≤100。 对于 80%的评测用例,1≤n≤1000。 对于所有评测用例,1≤n≤10000。
n = int(input())
l = input().split(' ')
ll = input().split(' ')
male = []
female = []
for i in range(n):
if ll[i] == '0':
male.append(l[i])
else:
female.append(l[i])
male.sort()
female.sort()
for i in female:
print(i, end=' ')
for j in range(len(male)):
if j != len(male)-1:
print(male[j], end=' ')
else:
print(male[j])
7-30 逢七拍手游戏
逢七拍手游戏规则是:从1 开始顺序数数,数到有包含有7或者7的倍数的时候拍手。编写程序实现逢七拍手游戏,输入整数n ,输出 n 以内(包含n)的需要拍手的数字,数字之间用1个空格分隔。
输入格式:
输入 一个整数
输出格式:
输出满足条件的所以数据,用空格分隔
输入样例:
30
输出样例:
7 14 17 21 27 28
a=int(input())
for i in range(1,(a+1)):
b=i
d = []
if i%7==0:
print(i,end=" ")
else:
while b>0:
c=b%10
d.append(int(c))
b=b//10
if 7 in d:
print(i,end=" ")