1. 求出1000以内的所有完数
> for i in range(1,1000):
> s = 0
> for k in range(1,i):
> if i % k == 0:
> s = s + k
> if i == s:
> print (i)
2. 使用python编写出乘法口诀表
**for循环实现**
> for m in range(1,10):
>
> for n in range(1,m+1):
>
> print('%s×%s=%s'%(m,n,m*n),end=' ')
>
> print()
**while循环实现**
n=1;sum=1
while n <= 9:
i = 1
while i <= n:
sum = i*n
print('%d*%d=%d'%(i,n,sum),end=' ')
i = i+1
print('')
n = n+1
‘%s×%s=%s’ 这个部分是字符串输出样子。%s类似于占位符,比如说。‘a*b=c’这是固定的,‘%s
是a’前面代表不固定,后面括号里面就是填充这些占位符的参数了,比如说,’%s是a’(o) 输出结果就会使 o是a
%s代表字符串的意思,可以是数字,可以是字母。%d代表数字的意思
3.判断闰年 **输入一个年份,判断其是否为闰年。 非世纪年(不能被100整除的年份)能被4整除的为闰年。(如2004年就是闰年,1999年不是闰年); 世纪年(能被100整除的年份)能被400整除的是闰年。(如2000年是闰年,1900年不是闰年)。
year = int(input("输入一个年份: "))
if (year % 4) == 0:
if (year % 100) == 0:
if (year % 400) == 0:
print("{} 是闰年".format(year)) # 整百年能被400整除的是闰年
else:
print("{} 不是闰年".format(year))
else:
print("{} 是闰年".format(year)) # 非整百年能被4整除的为闰年
else:
print("{} 不是闰年".format(year))
4.人机大战:人和机器进行猜拳游戏,首先选择角色:1 曹操 2张飞 3 刘备,然后选择的角色进行猜拳:1剪刀 2石头 3布 玩家输入一个1-3的数字;然后电脑出拳 随机产生1个1-3的数字,提示电脑出拳结果( 1剪刀 2石头 3布 ) ,双方出拳完毕后:角色和机器出拳对战,对战结束后,最后出示本局对战结果…赢…输,然后提示用户是否继续?按y继续,按n退出。最后结束的时候输出结果 角色赢几局 电脑赢几局,平局几次 游戏结束
import random
role_dict={'1':'曹操','2':'张飞','3':'刘备'}
fist_dict={1:'剪刀',2:'石头',3:'布'}
while True:
#选择角色
role_num=input('请选择角色:1 曹操 2张飞 3 刘备')
print('你选择的角色是:{}'.format(role_dict[role_num]))
if role_num == '1' or role_num == '2' or role_num == '3':
role=0#统计角色赢了
pc=0#统计机器赢了
ping=0#统计平局次数
while True:
#角色出拳
fist_num=int(input('请出拳:1剪刀 2石头 3布'))
print('{}出拳:{}'.format(role_dict[role_num],fist_dict[fist_num]))
if fist_num == 1 or fist_num == 2 or fist_num == 3:
#机器出拳
pc_fist_num=random.randint(1,3)#获取的是整数
print('机器出拳:{}'.format(fist_dict[pc_fist_num]))
#对战 当人的出拳数字-机器的出拳数字
#=-2 or 1的时候 人赢了
#-1 or 2 的时候 机器赢了
if fist_num-pc_fist_num in (-2,1):
print("{}赢了".format(role_dict[role_num]))
role+=1
elif fist_num-pc_fist_num in (-1,2):
print("机器赢了")
pc+=1
else:
print('双方平局')
ping+=1
choice=input('是否要继续对战?按y继续,按n退出!')
if choice=='y':
continue
elif choice=='n':
break
else:
print('请输入1、 2、 3')
continue
else:
print('请输入1、 2、 3')
continue
print('{}赢{}次,pc赢{}次,平局{}次'.format(role_dict[role_num],role,pc,ping))