2020-9-28
1.将10000 元钱存入银行,每年可以有 5%的收益,多少年后钱可以翻倍?
num=10000
i=0
while(num<20000):
num=num*1.05
i=i+1
print(i)
编写程序,读入一个员工的薪水(薪水的次数任意),计算并输出平均工资。当输入负数的时候退出循环
total = 0.0
count = 0
salary = 0.0
while salary >= 0.0 :
salary = float(input("Enter a salary or -1 to finish: "))
if salary >= 0.0:
total = total + salary
count = count + 1
if count > 0 :#判断是不是输入的正整数
average = total / count
print("Average salary is", average)
else :
print("No data was entered.")
要求用户输入今天 1 美元的人民币汇率。然后读入美元值,把每个转化为人民币。使用零作为警戒值,直到读到零,才退出循环
change =float(input("输入今天一美元的人民币价格"))
flag=True
while(flag):
money = float(input("请输入美元金额:"))
money=money*change
if money != 0:
print(money)
flag = True
else:
flag = False
flag=True
while(flag):
money = float(input("请输入人民币金额:"))
money=money/change
if money != 0:
print(money)
flag = True
else:
flag = False
要求用户输入今天 1 美元的人民币价格,然后读入一系列美元值,把每
个转化为人民币。使用零作为警戒值。然后程序继续读取一系列人民币值,把每个人民币转
化为美元,同样使用 0 作为警戒值
change =float(input("输入今天一美元的人民币价格"))
flag=True
while(flag):
money = float(input("请输入美元金额:"))
money=money*change
if money != 0:
print(money)
flag = True
else:
money = float(input("请输入人民币金额:"))
money = money /change
print(money)
flag = False
编写程序读取一系列整数然后输出:输入的整数中奇数和偶数的个数。
total1 = 0
total2 = 0
while(True):
num=int(input("请输入整数 输入0结束"))
if num == 0:
break
if num%2==1:
total1+=1
else:
total2+=1
print("奇数",total1,"偶数",total2)
编写程序读取一系列整数然后输出:每一次的累加和
total= 0
total2 = 0
while(True):
num = int(input("请输入整数 输入0结束"))
if num == 0:
break
total=total+num
print(total)
#####使用 while 循环判断一个输入的数是否为素数
import math
num = int(input("请输入整数:"))
a=int(math.sqrt(num))+1
while a>1:
if num % a == 0:
print("不是素数")
break
a-=1
else:#第一种方法出口判断
print("素数")
if (a == 1):#第二种方法出口判断
print("素数")
else:
print("非素数")
使用 while 循环求两个数的最大公约数
num1=int(input("请输入第一个整数:"))
num2=int(input("请输入第二个整数:"))
if(num1<num2):
num=num1
num1=num2
num2=num
while num2 !=0:
num=num1%num2
num1=num2
num2=num
print("这两个数的最大公约数为:",num1)
使用 while 循环求一个正数的近似平方根。
z=1.0
x=int(input("请输入一个整数:"))
y=x**0.5
while abs(y-z)>0.1**10:
z=(z+x/z)/2
print("近似平方根",z)
输入一系列成绩,以输入-1 结束,统计及格和不及格的数量,计算平均成绩,求最高分和最低分。
total = 0.0
total1 = 0
total2 = 0
count = 0
salary = 0.0
max=0.0
min=100.0
while salary >= 0.0:
salary = float(input("请输入成绩 -1结束输入: "))
if salary >= 0.0:
###最大最小值
if salary>max:
max=salary
if salary<min:
min=salary
###及格不及格
if 0<=salary<60:
total1=total1+1
if 60<=salary<=100:
total2=total2+1
total = total + salary
count = count + 1
if count > 0: # 判断开始是不是输入的正整数
average = total / count
print("平均分为:", average)
print("及格数量:", total1)
print("不及格数量:", total2)
print("最高分为:", max)
print("最低分为:", min)
else:
print("No data was entered.")
将 10000 元钱存入银行,每年可以有 5%的收益 输出 n 年内每年的账号余额 用for循环来实现
num=1000
n=0
year=int(input("请输入几年内的账户余额:"))
while n<year:
num*=1.05
n+=1
print("while循环第{}年账户余额为;{}".format(n,num))
num=1000
for i in range(0,year):
num*=1.05
print("for循环的第{}年账户余额为;{}".format(i+1, num))
#####二进制(整数)转化为十进制;输入任意二进制,输出十进制整数。
num=int(input("请输入二进制数据:"))
s=0
i=0
while num!=0:
m=num%10
s=s+m*2**i
num=num//10
i+=1
print("while循环转为十进制为:",s)
num=input("请输入二进制数据:")
s=0
len=len(num)-1
for i in num:
s=s+int(i)*2**len
len-=1
print("for循环转为十进制为:",s)
十进制(整数)转化为二进制:输入任意十进制,输出二进制
num=int(input("请输入十进制数据:"))
s=""
while num!=0:
m=num%2
s=str(m)+s #注意顺序不能调换
num=num//2
print("while循环转为十进制为:",s)
num=int(input("请输入十进制数据:"))
s=""
iter第一种将一个列表转化为一个迭代器,
iter第二种接受一个callable对象和一个sentinel第一个对象会一直运行下去直到返回sentinel
int内建方法 通过int(object)看注释默认值为0 interesting()永远返回0 一直循环
for i in iter(int,1):
m = num % 2
s=str(m)+s # 注意顺序不能调换
num = num // 2
if num==0:
print("for循环转为十进制为:", s)
break
输出 2-100(包含 100)之间所有的偶数和。
sum=0
for i in range(2,101,2):
sum+=i
print("2-100(包含 100)之间所有的偶数和为:",sum)
#####输出 1 到 100(包括 100)之间所有数的平方的和
sum=0
for i in range(1,101):
sum+=i**2
print("1 到 100(包括 100)之间所有数的平方的和为:",sum)
#####输入任意整数,使用 for 循环判断并输出他是否为素数
import math
num=int(input("请输入任意整数:"))
a=int(math.sqrt(num))+1
for i in range(2,a):
if num % i == 0:
print("不是素数")
int(i)
break
else:
print("是素数")#第一种方法出口判断
if i==a-1:#第二方法出口判断
print("是素数")
else:
print("不是素数")
使用 for 循环求两个数的最大公约数。
num1=int(input("请输入第一个整数:"))
num2=int(input("请输入第二个整数:"))
if(num1<num2):
num=num1
num1=num2
num2=num
#for i in range(1,num1+1):
for i in range(num1, 0,-1):
if((num1 % i == 0) and (num2 % i == 0)):
break
print("这两个数的最大公约数为:",i)
假设 3 个同学参加了 4 门课考试,请编写循环,每次输一个同学 4 门课的成绩,并输出每个人的平均分
for i in range(3):
total = 0.0##四门总成绩
total1 = 0#及格数量
total2 = 0#不及格数量
count = 0#计数
salary = 0.0#成绩
max = 0.0#最高分
min = 100.0#最低分
while salary >= 0.0:
if count==4:
break
salary = float(input("请输入四科成绩:"))
if salary >= 0.0:
###最大最小值
if salary > max:
max = salary
if salary < min:
min = salary
###及格不及格
if 0 <= salary < 60:
total1 = total1 + 1
if 60 <= salary <= 100:
total2 = total2 + 1
total = total + salary
count = count + 1
if count > 0: # 判断开始是不是输入的正整数
average = total / count
print("平均分为:", average)
print("及格数量:", total1)
print("不及格数量:", total2)
print("最高分为:", max)
print("最低分为:", min)
else:
print("No data was entered.")
#####统计输入的字符串中的元音字母的个数
num=0
data=input("请输入字符串:").lower()
for i in data:
if i in ['a', 'e', 'i', 'o', 'u']:
num+=1
print("改字符串元音字母共有:",num)
我们使用 8 位数字来模拟 16 位数字的信用卡验证。验证要求如下:
1.从最右端的数字开始,每隔一位取一位数字并计算数字和,例如卡号为 4358 9795,那么这个和为 5+7+8+3=23;
2.把信用卡号码中第一步中没有包括的数字乘以 2,然后对他们求和,
例如上面的卡号中,对 9 9 5 4 依次乘以 2,得到 18 18 10 8,把他们按位求和,也就是 1+8+1+8+1+0+8=27;
3.把上面两步得到的数相加,如果结果的最后一位数字是 0,就表示这个号码是合法的。
在上面的例子中,和是 23+27,结果为 50,所以这个信用卡号是合法的。
编写程序实现这个算法,用户提供 8 为数字的输入,程序输出是否合法。
num=input("请输入数字:").replace(' ','')
count=0
total=0
s=""
total2=0
turnum = num[::-1] #翻转
if len(num)!=8:
print("输入有误!")
exit()
for i in turnum:
count+=1
if count%2==1:
total+=int(i)
else:
s += str(int(i)*2)
for j in s:
total2+=int(j)
if total+total2==50:
print("信用卡号合法")
else:
print("信用卡号不合法:")
网友评论