Python简单编程复习
1、计算1+2=3+…+100
total=0
i=1
while i<=100:
total+=i
i+=1
print(total)
2、编写程序,要求用户从键盘输入若干整数,输出它们的和
print("请输入若干整数,以0作为结束标志")
total=0
value=eval(input())
while value!=0: #手动换行输入下一个数
total+=value
value=eval(input())
print("整数和:"+str(total))
3、键盘输入正整数,计算并输出该整数个位数字之和
n=eval(input("输入一个正整数:"))
total=0
while n>0:
total+=n%10
n//=10
print("整数中各位数字的和:%d"%(total))
需要注意输出语句中使用的“%”在C语言中相当于“,”的作用
4、编写程序,随机生成一个【0,100】之间的整数(称为神秘数),提示用户连续输入数字,直至其与神秘数相等;对于用户输入的数字,会提示它比神秘数大或小,便于用户更明智地选择下一个输入的数字。
import random
number=random.randint(0,100)
print("猜测【0,100】之间的神秘数")
guess=-1
while guess!=number:
guess=eval(input("请输入你的猜数:"))
if guess==number:
print("恭喜你,猜对了!!!,神秘数是:%d"%(number))
elif guess>number:
print("猜数太大")
else:
print("猜数太小")
5、从键盘输入一个正整数n,判断它是否为素数(prime)
n=eval(input("请输入一个正整数:"))
is_prime=True
if n<=1:
is_prime=False
elif n==2:
is_prime=True
elif n%2==0:
is_prime=False
else:
limit=int(n**0.5+1)
for i in range(3,limit,2):
if n%i==0:
is_prime=False
break
print("素数" if is_prime else "非素数")
6、百鸡问题。100元买100只鸡,其中公鸡5元1只、母鸡3元1只、小鸡1元3只,要求每种鸡必须都有,则公鸡、母鸡和小鸡应各买几只。编写程序,输出购买方案。
首先对问题进行分析→
假设cock代表公鸡,hen代表母鸡,chick代表小鸡,则其应满足如下条件:
cock+hen+chick==100
5*cock+3*hen+chick/3==100
chick%3==0
由于cock+hen+chick==100,所以确定了cock和hen的值时,chick的值也就确定了,则可以只使用两重循环(可省略小鸡for循环)
那么代码就可以这样编写:
for cock in range(1,20):
for hen in range(1,32):
if cock*5+hen*3+(100-cock-hen)//3 !=100:
continue
if (100-cock-hen)%3!=0:
continue
print("cock=%2d,hen=%2d,chick=%2d"%(cock,hen,100-cock-hen))