DanielMZY 发表于 2020-10-13 09:47

萌新Python3 代码求助

本帖最后由 DanielMZY 于 2020-10-12 22:24 编辑

求求了,别再删帖了,就是想问个问题,不是想多刷经验和币,真的很急。。。。。

Python 3问题

1.
############################################
def alienNumbers(s):
    a=0
    for i in s:
      if i == "T":
            a=a+1024
      elif i == "y":
            a=a+598
      elif i == "!":
            a=a+121
      elif i == "a":
            a=a+42
      elif i == "N":
            a=a+6
      elif i == "U":
            a=a+1
      else:
            a=a+0
    return a
print(alienNumbers("a!ya!U!NaU"))
print(alienNumbers("aaaUUU"))
print(alienNumbers(""))

###################################################

改写这个,不用string的方法和不用list/array, tuple, set,dictionaryprint(alienNumbers(""))

##################################################示例输出:
>>> alienNumbers("a!ya!U!NaU")
1095
>>> alienNumbers("aaaUUU")
129
>>> alienNumbers("")
0
###################################################

2.
################################################
def encrypt(s):
      s1= s[::-1]
      s2= ""
      for i in range((len(s)/2)):
            s2 = s2 + s1 + s
            if (len(s)%2 != 0) & (i == (len(s)/2 - 1)) :
                s2 = s2 + s1
      return s2

#################################################
修改我的encrypt(s)

规则:
不用list/array, tuple, set,dictionary你把你的信息倒过来写(所以,Hello,world变成了dlrow,olleH)。但你不要就此止步,因为这太容易破解了--谁都能想出来!
现在你已经倒过来写了,那么你就从字符串的两边开始,把字符连在一起。现在你已经倒过来写了,然后你从字符串的两边开始,把这些字符连在一起,这样,第一个和最后一个字符就变成了dlrow ,olleH。
所以第一个和最后一个字符就变成了加密字符串中的第一个和第二个字符,第二个和第二个最后的字符就变成了字符串中的第三个和第四个字符,以此类推。因此,Hello,world最终变成了dHlerlolwo。
###########################################################示例输出:
>>> encrypt("Hello, world")'dHlerlolwo ,'
>>>> encrypt("1234")
'4132'
>>> encrypt("12345")
'51423'
>>> encrypt("1")
'1'
>>> encrypt("123")
'312'
>>> encrypt("12")
'21'
>>> encrypt("Secret Message")
'eSgeacsrseetM '
>>> encrypt(",'4'r")
"r,''4"
######################################

3.
#######################################
def squarefree(s):
    for i in range(1,int(len(s)/2) + 1):
      for j in range(len(s)):
            if(j+2*i <= len(s)):
                if(s == s):
                  return False
    return True
#######################################################

规则:
不用list/array, tuple, set,

dictionary方块字是至少有字母连续重复,下面是示例ana是无方块字。
borborygmus 不是无方块的,因为它的子词 bor 连续两次。
abracadabra 是无方块的。
repetitive 不是方块,因为它的子词 ti 在一行中重复了两次。
grammar 不是 squarefree,因为子词 m 在一行中重复了两次。
gaga不是无平方词,因为子词ga在一行中重复了两次。
rambunctious是无方块词。
abcab是无方块词。
abacaba是无平方的。
zrtzghtghtghtghtq 不是 squarefree,因为子词 ght 重复了两次 (实际上是三次,但只要找到两个就够了) 的重复,从而得出该词不是无方块的结论)。)
aa不是无方块词,因为子词a重复了两次。
zatabracabrac 不是无方块词,因为子词 abrac 连续重复了两次。

写一个squarefree(s)
#################################################################
输出示例:
>>> squarefree("")
True
>>> squarefree("a")
True
>>> squarefree("zrtzghtghtghtq")
False
>>> squarefree("abcab")
True
>>> squarefree("12341341")
False
>>> squarefree("44")
False            

qujf 发表于 2020-10-13 10:57

没看懂你到底啥问题,下面的人再看看

DanielMZY 发表于 2020-10-13 10:58

qujf 发表于 2020-10-12 21:57
没看懂你到底啥问题,下面的人再看看

哪个不明白?

Tiana丶Tiana 发表于 2020-10-13 11:03

好好排版{:1_901:}看的没耐心

DanielMZY 发表于 2020-10-13 11:13

Tiana丶Tiana 发表于 2020-10-12 22:03
好好排版看的没耐心

我排版咋了(哭)

我心飞翔1995 发表于 2020-10-13 11:16

DanielMZY 发表于 2020-10-13 11:13
我排版咋了(哭)

连代码都没放到代码框里,排版真的稀碎

我心飞翔1995 发表于 2020-10-13 11:17

我心飞翔1995 发表于 2020-10-13 11:16
连代码都没放到代码框里,排版真的稀碎

真的怀疑你是混经验的,都三四个帖子了,还是这个样子,不考虑别人的阅读感受,处理好排版问题,会有人乐意解决的

DanielMZY 发表于 2020-10-13 11:23

我心飞翔1995 发表于 2020-10-12 22:17
真的怀疑你是混经验的,都三四个帖子了,还是这个样子,不考虑别人的阅读感受,处理好排版问题,会有人乐 ...

我最近才开始用吾爱论坛,好多功能不会用,忘谅解。
真的不是混经验,我仅仅是想问一些东西,我对经验等级这些无感

DanielMZY 发表于 2020-10-13 11:24

排版修改好了,首先感谢各位大佬的批评,已经逐渐熟悉发帖的功能了,下次多加注意!

DanielMZY 发表于 2020-10-13 11:32

Tiana丶Tiana 发表于 2020-10-12 22:03
好好排版看的没耐心

大神,好好排版了
页: [1] 2
查看完整版本: 萌新Python3 代码求助