免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 作业没做完
打印 上一主题 下一主题

菜鸟又来问问题咯~TAT [复制链接]

论坛徽章:
0
21 [报告]
发表于 2009-02-05 13:35 |只看该作者
原帖由 zhenglxd 于 2009-2-5 11:04 发表

我确实是菜鸟我只学了2个多礼拜 简明python还没看玩>.<
不过我追求完美 这个是最终改良版 我的是2.6的,一起学习 呵呵
import string
while 1:
    dd={0:"even",1:"odd"}
    try:
        t=str(raw ...


兄弟。。你这个有点复杂。
我的最终版在上面已经写出来了,很短
不过我那个每测一次就要按一次F5
我把你这个存下来学习哈=v=~

另外LIST代码的那个!我有思路了~我回家先试试~
不行俺再上来求教哈~~谢谢!!

哎呀 真是太高兴了~~在这里可以学好多东西!=v=~

[ 本帖最后由 作业没做完 于 2009-2-5 13:42 编辑 ]

论坛徽章:
0
22 [报告]
发表于 2009-02-05 13:57 |只看该作者
原帖由 作业没做完 于 2009-2-5 13:35 发表


兄弟。。你这个有点复杂。
我的最终版在上面已经写出来了,很短
不过我那个每测一次就要按一次F5
我把你这个存下来学习哈=v=~

另外LIST代码的那个!我有思路了~我回家先试试~
不行俺再上来求教哈~~谢 ...

呵呵 一起努力 我也是刚学习的 所以写的代码不是很规范 人人为我 我为人人么!

论坛徽章:
0
23 [报告]
发表于 2009-02-06 06:17 |只看该作者
那个list的代码 不行有局限性= =

metres = float(raw_input("Enter the height (in metres): "))
a = {1:'one',2:'two',3:'three',4:'four',5:'five',6:'six',7:'seven',8:'eight',9:'nine',10:'ten',11:'eleven'}
if metres > 0.12 and metres < 12.2:
    total_inches = 39.37 * metres
    feet = int(total_inches/12)
    inches = int(round(total_inches - b*12))
    print "It is " + str(a[feet]) + " feet, " + str(a[inches]) + ' inches high.'
else:
    print "The program is over."

这个代码的输入上限是40英尺。
这样在list部分 就要写到40.
但是如果代码没有输入上限呢~?

我本来想把变量的二进制算出来再用ASCII编码进行代换= = 但是似乎不行

[ 本帖最后由 作业没做完 于 2009-2-6 06:19 编辑 ]

论坛徽章:
0
24 [报告]
发表于 2009-02-06 11:16 |只看该作者

回复 #23 作业没做完 的帖子

metres = float(raw_input("Enter the height (in metres): "))
a = {1:'one',2:'two',3:'three',4:'four',5:'five',6:'six',\
     7:'seven',8:'eight',9:'nine',10:'ten',20:'twenty',\
     30:'thirty',40:'forty',50:'fifty',60:'sixty',70:'seventy',\
     80:'eighty',90:'ninety',100:'hundred',\
     1000:'thousand '}
T=total_inches = 39.37 * metres
F=feet = (int(T//12))
SF=str(F)
I=round(float(T/12)-F,1)
II=int(I*10)
if len(SF)==1:
    print "It is " + str(a[F])+" feet, " + str(a[II]) + ' inches high.'
if len(SF)==2:
    L=F-F//10*10
    print "It is " + str(a[F//10*10])+str(a[L]) + "  feet,"+\
          str(a[II]) + ' inches high.'
if len(SF)==3:
    H=F//100
    TEN=(F-F//100*100)//10*10
    OO=(F-F//100*100)-TEN

    print "It is " + str(a[H])+'  hundred'+"  "+str(a[TEN])+" "+a[OO]+\
          "  feet,"+ str(a[II]) + ' inches high.'
         
         
         
我刚学没多久 我这个是比较笨的,我所学的知识中我只知道这样子是可以实现你那个功能的,这仅仅是一种思路。注意11~19我忘记添加了疏忽了。所以遇到11的时候可能会打出tenone你自己改下就可以了,但理论上你可以用他稍微修改可以做出无限的数字,当然计算机的处理能力是有限的实际中你也用不大那么大的数字,
其中 我的思路就是用len() 函数来判断 这个数字是个几位数?
如果你有兴趣不怕烦 你可以自己跟着这个思路做到 千万位,亿万位,当然词典要记得添加一下关键字,重复性的用公式把他分化掉
我的思路就是比如说 11111就= 1万+1千+1百+十一,这个至少比 你在词典从1~11111要轻松不是么?
希望能帮助到你,共同进步吧
PS写这个东东花了我2个多小时 另我英语基础很差 我不知道老外表达 数字时 是不是这样表达的!

论坛徽章:
0
25 [报告]
发表于 2009-02-06 11:55 |只看该作者
原来可以这样用Len啊!我笨啊学了Len不知道活用= =|
我就是在想一个数字可以 但是要是数字大了就不行了

谢谢楼上哈!你很强哈~
辛苦你拉!
====
给个小小的意见
I=round(float(T/12)-F,1)
II=int(I*10)
这一步里面你可以把那个“i*10”写到I的那一部里面
====好像有点吹毛求疵====
顶锅盖奔走


下星期有新题目俺继续拿出来分享哈=v=~(我真阴暗 啊哈哈~)

[ 本帖最后由 作业没做完 于 2009-2-6 12:21 编辑 ]

论坛徽章:
0
26 [报告]
发表于 2009-02-06 12:26 |只看该作者

回复 #25 作业没做完 的帖子

呵呵,其实都是新人不用怎么客气,我所学习的一切资源来源于网络,我能想到仅仅是因为我学过这个例子,如果你也学过那么你也可以,其实遇到问题,才能反映出你在哪些方面还有欠缺,我也很感谢你把这个问题分享出来,我在帮你解决问题的过程中,也等于把我自己的知识点复习了一遍,并且是实践的,我相信总有一天我们也会脱离菜鸟的,共同努力吧!

论坛徽章:
0
27 [报告]
发表于 2009-02-06 13:57 |只看该作者
呃 我们老师讲课都不用书的,就他写 然后让我们做作业
所以我很多也要上网查的=v=~ 哎语言也是个大问题呀 哈哈 啊哈哈哈。。。
那个len我们做的练习是用来检查一个数字是否满足某条件
比如说 如果一个数字里面包含了 7 那么这个数字就是幸运的
如果没有 则输出 不是幸运数字

你也可以写写试试看

还有就是数空格 一句话里 哪个位置有空格~
比如说
enter a string: I love CN.
there is a speace in position 2.
there is a speace in position 7.

你可以试着练习一下哦=v=~

论坛徽章:
0
28 [报告]
发表于 2009-02-06 17:18 |只看该作者
原帖由 作业没做完 于 2009-2-6 13:57 发表
呃 我们老师讲课都不用书的,就他写 然后让我们做作业
所以我很多也要上网查的=v=~ 哎语言也是个大问题呀 哈哈 啊哈哈哈。。。
那个len我们做的练习是用来检查一个数字是否满足某条件
比如说 如果一个数字里 ...

那个一个语句里包含多少个空格被我试出来了呵呵 开心还有个没时间了下次在试验,如果方便的话请你把你写的代码也发上来好让我借鉴下,毕竟你是有老师的
a=1
while a==1:
    num=str(raw_input ('enter a string:'))
    if ' ' not in num:
        print "no space in string"
        continue
    else:
        a=0
    while a==0:
        s=num.find(' ',)
        print "there is a speace in position %s"%(int(s)+1)
        num=num.replace(' ','a',1)
        if ' ' not in num:
            break

论坛徽章:
0
29 [报告]
发表于 2009-02-07 03:42 |只看该作者
s = raw_input("Enter a string: ")
for i in range(len(s)):
    if s[i大括号] == " ":
        print "There's a space in position ", i

我的就这样,数空格那个
思路是这样的 数输入的文字有多少个字符,相当于就是文字长度,只要字符是空格的时候就记下来。

P.S. 看到你的代码里面有很多我不认识的函数,同学可以把你学习的资料分享一下么?
非常感谢!

[ 本帖最后由 作业没做完 于 2009-2-7 08:46 编辑 ]

论坛徽章:
59
2015年亚洲杯之约旦
日期:2015-01-27 21:27:392015年亚洲杯之日本
日期:2015-02-06 22:09:41拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015元宵节徽章
日期:2015-03-06 15:50:392015年亚洲杯之阿联酋
日期:2015-03-19 17:39:302015年亚洲杯之中国
日期:2015-03-23 18:52:23巳蛇
日期:2014-12-14 22:44:03双子座
日期:2014-12-10 21:39:16处女座
日期:2014-12-02 08:03:17天蝎座
日期:2014-07-21 19:08:47
30 [报告]
发表于 2009-02-07 12:50 |只看该作者

直接

if(YourNumber&0x01)
print("Odd");
else
print("Oven");
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP