##三位数水仙花
##方法一,小于指定数字的水仙花数
x=eval(input())
a,b,c = 0,0,0
for i in range (100,x,1):
a=i%10
b=i//100
c=(i%100)//10
if pow(a,3)+pow(b,3)+pow(c,3) ==i:
print(i)
##方法二
s = ""
for i in range(100, 1000):
t = str(i)
if pow(eval(t[0]),3) + pow(eval(t[1]),3) + pow(eval(t[2]),3) == i :
s += "{},".format(i)
print(s[:-1])
#求和
n = input("请输入一个数字")
m = 0
for i in range(int(n)):
m += i+1
print("1到{}的求和结果是:{}".format(n,m))
#九九乘法表
for i in range(1,10):
for j in range(1,i+1):
print ("{}*{}={:<}".format(j,i,i*j),end=' ')
print('')
#计算1!+2!+3!+...+10!的结果。
m,n=0,1
for i in range(1,11):
n = i*n
m = m+n
print(m,n)
print("运算结果是:{}".format(m))
##猴子吃桃问题,一天吃一半+1,第五天只剩下一个桃,问他一共摘了几个桃
###方法一
n,m=1,0
for i in range(1,4):
n = (1+n)*2
m +=n
print(n)
print (m)
##方法二
n=1
for i in range(5,0,-1):
n = (n+1) <<1 #即结果左移一位===X2
print(n)
##健康食谱
list=['莲藕','花菜','鸡翅','虾仁','牛肉']
for x in range(0,5):
for y in range(0,5):
if not(x == y):
print("{}炒{}".format(list[x],list[y]))
##五角星
from turtle import *
fillcolor("red")
begin_fill()
while True:
forward(200)
right(144)
if abs(pos())<1:###pos()当前坐标
break
end_fill()
###绘制太阳花
from turtle import *
color('red','yellow')#笔颜色+填充色
begin_fill()
while True:
forward(200)
right(170)
if abs(pos())<1:
break
end_fill()
done()
##温度转换
Temp = input("请输入您想转换的温度,带符号F或者C!""\n您输入的温度是:")
if Temp[-1] in ['F','f']:
C=(eval(Temp[0:-1])-32)/1.8
print("转换后的温度是:{:.2f}C".format(C))
elif Temp[-1] in ['c','C']:
F=eval(Temp[0:-1])+32*1.8
print("转换后的温度是:{:.2f}F".format(F))
else:
print("输入有误!再见ヾ ̄▽ ̄Bye~Bye~")
##画蟒蛇
from turtle import *
setup(650,350,200,200)
penup()
fd(-250)
pendown()
pensize(25)
pencolor("violet")#violet浅紫色,purple紫色
seth(-40)
for i in range(4):
circle(40,80)
circle(-40,80)
circle(40,40)
fd(40)
circle(16,180)
fd(40*2/3)
##10个同心圆
from turtle import *
for i in range(1,100,10):
penup()
goto(0,-i)
pendown()
pencolor('black')
circle(i)
#无边四边形
from turtle import *
def block(i):
penup()
fd(i)
pendown()
fd(i*4)
penup()
fd(i)
pendown()
for x in range(1,5):
block(20)
seth(x*90)
##六角形
left(90)
fd(180)
right(120)
fd(180)
right(120)
fd(180)
right(120)
fd(120)
right(60)
fd(120)
right(120)
fd(180)
right(120)
fd(180)
right(120)
fd(60)
##正方螺旋圈
from turtle import *
for i in range(5,500,5):
left(90)
fd(i)
###增加了简单异常处理的猜数字游戏
import random
num = random.randint(1,100)
print (num)
print("猜数字游戏开始啦~")
guess=0
while guess != num:
try:
temp = eval(input("请输入您猜的数字[整数哦~]:"))
guess =temp
if guess > num:
print("大了,小一点试试吧!")
elif guess < num:
print("小了,大一点试试吧!")
else:
print("bingo!")
except:
print("输入不是数字")
if guess == num:
print("恭喜你,猜对啦~")
print("猜数字游戏结束啦~再见")
###三次方格式化
'''获得用户输入的一个数字,可能是整数或浮点数,a,计算a的三次方值,并打印输出。
输出结果采用宽度20个字符、居中输出、多余字符采用减号(-)填充。
如果结果超过20个字符,则以结果宽度为准。'''
###方法一
temp=eval(input("请输入您需要进行三次方的数据:"))
num = pow(temp,3)
print(str(num).center(20,'-'))
###方法二
a = eval(input())
print("{:-^20}".format(pow(a, 3)))
###星号等边三角形
'''读入一个整数N,N是奇数,输出由星号字符组成的等边三角形,要求:
第1行1个星号,第2行3个星号,第3行5个星号,依次类推,最后一行共N的星号。'''
#方法一
a=eval(input(""))
b,c="",""
for i in range(1,a+1,2):
b="*"*i
print(str(b).center(a)) ##.center()函数的使用
#方法二
n = eval(input())
for i in range(1,n+1,2):
print("{0:^{1}}".format('*'*i, n))#关键是对.format()中槽机制的理解,槽中可以嵌套槽,用来表示宽度、填充等含义。
'''给用户三次输入用户名和密码的机会,要求如下
1)如输入第一行输入用户名为‘Kate’,第二行输入密码为‘666666’,输出‘登录成功!’,退出程序
2)当一共有3次输入用户名或密码不正确输出“3次用户名或者密码均有误!退出程序。”。'''
for i in range(3):
user=input()
passwd=input()
if (user == 'Kate')&(passwd =='666666'):
print("登录成功!")
break
else:
if i ==2:
print("3次用户名或者密码均有误!退出程序。")
###方法二 ----》while 用于进行非确定次数循环
count = 0
while count < 3:
name = input()
password = input()
if name == 'Kate'and password == '666666':
print("登录成功!")
break
else:
count += 1
if count == 3:
print("3次用户名或者密码均有误!退出程序。")