1.这里有四个数字,分别是:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?请列举出来,并用空格分隔。
解题思路:筛选出三位中数字相同的情况,并忽略他们。
list1=[]
count=0
for a in range(1,5):
for b in range (1,5):
for c in range(1,5):
if a!=b and b!=c and a!=c:
d=100*a+10*b+c
count+=1
list1.append(d)
print('一共有%d个三位数' % count)
for i in list1:
print(i,end=' ')
2.企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,低于20万元的部分按7.5%提成,高于20万元的部分,可提成5%;40万到60万之间时,低于40万元的部分按5%提成,高于40万元的部分,可提成3%;60万到100万之间时,低于60万元的部分按3%提成,高于60万元的部分,可提成1.5%,高于100万元时,低于100万元的部分按1.5%提成,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
解题思路:用if语句判断各个条件区间。
lirun=int(input('请输入你的利润:'))
if lirun <= 100000:
p=lirun*0.1
if lirun >100000 and lirun <=200000:
p=10000*0.1+(lirun - 100000)*0.075
if lirun >200000 and lirun <=400000:
p=200000*0.075+(lirun - 200000)*0.05
if lirun >400000 and lirun <=600000:
p=400000*0.05+(lirun - 400000)*0.03
if lirun >600000 and lirun <=1000000:
p=600000*0.03+(lirun - 600000)*0.015
if lirun >1000000:
p=1000000*0.015+(lirun-1000000)*0.01
print(p)
3.一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问在该数小于1000000的情况下,该数是多少?
解题思路:如果某数是完全平方数,那么该数开方为一个整数。
import math
for i in range(1,1000000):
if math.sqrt(i+100)==int(math.sqrt(i+100)) and math.sqrt(i+268)==int(math.sqrt(i+268)):
print(i)
4.编写一个程序,找到所有可以被7整除但不是5的倍数的数字,2000至3200之间(均包括在内)。获得的数字应以逗号分隔的顺序打印在一行上。
解题思路:用if语句作为判断,注意输出格式。
list1=[]
for i in range(2000,3201):
if i%7==0 and i%5!=0:
list1.append(i)
for i in list1:
print(i, end=',')#或者用print(','.join(l)) ,用于把字符串用S符号连接起来
5.编写一个程序,可以计算给定数字的阶乘。假设为程序提供了以下输入:8,输出应该是:40320
解题思路:可定义函数并用递归,或者用for循环。
a=int(input('请输入一个数:'))
b=1
for i in range(1,a+1):
b=b*i
print(b)
6.使用给定的整数n,编写程序以生成包含(i:i * i)的字典这是1和n之间的整数(包括两者)。 然后是程序应该打印字典。假设为程序提供了以下输入:8,输出结果:{1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64}
解题思路:定义一个字典,用for循环。
n=int(input('请输入一个数:'))
d=dict()
for i in range(1,n+1):
d[i]=i*i
print(d)
7.输入一串数字,以逗号为分隔符,将其转换成列表和元组输入:34,67,55,33,12,98 输出: ['34', '67', '55', '33', '12', '98'] ('34', '67', '55', '33', '12', '98')
解题思路:注意字符串分隔方法。
value=input('请输入一串数字:')
a=value.split(',')
print(a)
b=tuple(a)
print(b)
8.定义一个至少包含两种方法的类:getString:从控制台输入中获取字符串printString:以大写形式打印字符串。
解题思路:注意定义类的格式。
class A():
def getString(self):
self.x =input('请输入一个字符串:')
def printString(self):
print(self.x.upper())
a=A()
a.getString()
a.printString()
9.编写一个程序,根据给定的公式计算并打印该值:Q = [(2 * C * D)/ H]的平方根以下是C和H的固定值:C是50.H是30。D是变量,其值应以逗号分隔的顺序输入到程序中。输入:100,150,180,输出:18,22,24
解题思路:导入math函数,注意输入输出格式。
import math
c=50
h=30
d=input('请输入:')
list1=d.split(',')
m=list1[-1]
for i in list1:
i=int(i)
q=int(math.sqrt((2*c*i)/h))
if i !=int(m):
print(q,end=',')
else:
print(q,end='')
10.编写一个程序,X,Y作为输入,并生成一个X行,N列的二维数组。数组的第i行和第j列中的元素值应为i * j。
解题思路:注意二维数组的定义方式。
input_str = input()
dimensions = [int(x) for x in input_str.split(',')]
rowNum = dimensions[0]
colNum = dimensions[1]
multilist = [[0 for col in range(colNum)] for row in range(rowNum)]#定义一个空的二维数组
for row in range(rowNum):
for col in range(colNum):
multilist[row][col] = row * col
print(multilist)