1.
python标准整形类型等价于c的(有符号)长整型。32位取值范围-2的31次方到2的31次方减一,64位机器上整形将是64位。
长整型类型能表达的数值仅仅与机器支持的虚拟内存有关。是标准子集的超集。
2.
def multiple(number1 , number2 ) :
count = number1*number2
return count
if __name__ == '__main__' :
count = multiple(7,8)
print count
3.
def grade(number1) :
grd = ''
if 90<=number1<=100 :
grd = 'A'
elif 80<=number1<=89 :
grd = 'B'
elif 70<=number1<=79 :
grd = 'C'
elif 60<=number1<=69 :
grd = 'D'
elif number1<=60 :
grd = 'F'
else:
print "not vaild"
return grd
if __name__ == '__main__' :
grd = grade(79)
print grd
4.
if __name__ == '__main__':
while True :
year = int(raw_input('input a year'))
if year%4 == 0 and year%100 != 0 :
print "leap year"
elif year%400 == 0 :
print "leap year"
else:
print "not leap year"
5.为了简单,用的贪心算法,讲道理要满足最少硬币应该要使用动态规划求解。贪心算法在某些情况非最优。
为了在有浮点数参加的运算里保留整数结果,使用地板除。
from __future__ import division
def changecoin(coin):
n1 = coin//0.25
y1 = coin%0.25
n2 = y1//0.1
y2 = y1%0.1
n3 = y2//0.05
y3 = y2%0.05
n4 = y3//0.01
return n1,n2,n3,n4
if __name__ == '__main__':
c1,c2,c3,c4 = changecoin(float(raw_input('input a number <1 :')))
print int(c1),int(c2),int(c3),int(c4)
6.
eval()函数可以直接将string作为有效的表达式来进行求值
from __future__ import division
def count(list) :
list[0] = int(list[0])
list[2] = int(list[2])
if list[1] == '+' :
r = list[0]+list[2]
elif list[1] == '-' :
r = list[0]-list[2]
elif list[1] == '*' :
r = list[0]*list[2]
elif list[1] == '/' :
r = list[0]/list[2]
elif list[1] == '%' :
r = list[0]%list[2]
elif list[1] == '**':
r = list[0]**list[2]
else:
print "wrong operator"
return r
if __name__ == '__main__':
while True :
str1 = raw_input('input number operator number')
list = str1.split(' ')
# print list
result = count(list)
print result
8.
import math
def cub(len) :
s = len ** 2
v = len ** 3
return s,v
def sqare(len) :
s = math.pi * (len ** 2)
v = 4/3 * math.pi * (len ** 3)
return s,v
if __name__ == '__main__':
s1,v1 = cub(2)
s2,v2 = sqare(3)
print s1,v1
print s2,v2
9.
a)
目标进制为2进制时,就用bin();
目标进制是8进制的时候用oct();
目标进制是10进制的时候用int();
目标进制是16进制的时候用hex();
int(‘017’,8) = 15
int(‘032’,8) = 26
b)
pycharm下运行是1342, cmd环境下也是
10.
from __future__ import division
def turn(F):
C = (F-32)*(5/9)
return C
if __name__ == '__main__':
C = turn(49)
print C
11.
1)
from __future__ import division
def choose(num):
if num%2 == 0 :
return 1
else:
return 0
if __name__ == '__main__':
list = []
for i in range(21):
index = choose(i)
if index == 1 :
list.append(i)
print list
2)改index == 1为index == 0
3 ) 被2整除
4)
from __future__ import division
def choose(num1,num2):
if num1>= num2:
c = num1%num2
else:
c = num2%num1
if c == 0 :
return 1
if __name__ == '__main__':
while True:
num1 = int(raw_input('number one\n'))
num2 = int(raw_input('number two\n'))
index = choose(num1,num2)
if index == 1 :
print True
else:
print False
12.复数未查到方法,欢迎评论告知
import sys
#int
print sys.maxint
print -sys.maxint+1
#long
print sys.long_info
#float
print sys.float_info
13.
# -*- coding: utf-8 -*-
import time
#time模块返回当前时间,取小时及分钟
string = time.strftime('%I %M',time.localtime(time.time()))
list = string.split(' ')
print int(list[0])*60+int(list[1])
14.利率取万四
# -*- coding: utf-8 -*-
from __future__ import division
def oneday(money) :
money = money*4/10000 + money
return money
if __name__ == '__main__':
m = 100
i = 1
while i<=365 :
m = oneday(m)
i = i+1
print "one year : %f" %m
print (m-100)/100
15.
# -*- coding: utf-8 -*-
from __future__ import division
def count(num1,num2) :
if num1>=num2:
t = num2
else:
t = num1
i=t
while i>=1 :
if num1%i == 0 and num2% i == 0 :
return i
i = i-1
def count2(num1,num2):
t = num1*num2
if num1>=num2:
y = num1
else:
y = num2
i = y
while i<=t :
if i%num1 == 0 and i%num2 ==0 :
return i
i = i+1
if __name__ == '__main__':
while True:
num1 = int(raw_input("number1:\n"))
num2 = int(raw_input("number2 ;\n"))
print count(num1,num2)
print count2(num1,num2)
16.
# -*- coding: utf-8 -*-
def payment(op,pay):
print ' Amount Remaining'
print 'Pymt# Paid Balance'
print '---- ------ ---------'
print '0 $0.00 $%f' % op
i = 1
remain = op
while remain-pay>0 :
remain = remain -pay
print '%d %f %f' % (i,pay,remain)
i=i+1
print '%d %f %f ' % (i,remain ,0)
if __name__ == '__main__':
op = float(raw_input('Enter opening balance:\n'))
pay = float(raw_input('Enter mouthly payment:\n '))
payment(op,pay)
结果:
Enter opening balance:
100
Enter mouthly payment:
16.17
Amount Remaining
Pymt# Paid Balance
---- ------ ---------
0 $0.00 $100.000000
1 16.170000 83.830000
2 16.170000 67.660000
3 16.170000 51.490000
4 16.170000 35.320000
5 16.170000 19.150000
6 16.170000 2.980000
7 2.980000 0.000000
17.sort函数排序后会更改list的值
# -*- coding: utf-8 -*-
import random
import sys
if __name__ == '__main__' :
n = int(raw_input("number:\n"))
list1 = []
for i in range(n) :
list1.append(random.randint(0,sys.maxint-1))
print list1
y = int(raw_input('number again:\n'))
list2 = []
for j in range(y):
list2.append(random.choice(list1))
print list2
list2.sort()
print list2
结果:
number:
7
[4, 19, 1, 9, 17, 0, 5]
number again:
5
[4, 1, 1, 9, 4]
[1, 1, 4, 4, 9]